3 ms·
How does this compare to wasmtime, wasmer, etc? Why would I choose one over the other?
by supermatt 4y ago
How does this compare to wasmtime, wasmer, etc? Why would I choose one over the other?
- syrusakbary 4y agoI've just created a new comparison page analyzing the main differences, hope this helps! https://wasmer.io/wasmer-vs-wasmedge https://wasmer.io/wasmer-vs-wasmedge
- supermatt 4y agoWhile I appreciate your comparison pages for highlighting the strengths of wasmer, they really do avoid talking about any of the metrics where wasmer isnt top performer. IMHO this doesnt really give me the information I need to make a decision. For example, the wasmedge website claims it is the fastest runtime but I notice that your comparison page doesnt mention runtime performance at all. It would be nice to know how much slower is wasmer in that respect. I feel that if wasmer covered things like this in the comparisons, and was highlighting that its only X% slower (even though thats a negative) I could balance the positives accordingly when making a decision about which runtime to choose. There doesnt seem to be anywhere that provides an unbiased comparison. Maybe wasmer could lead the charge in that respect?
- syrusakbary 4y ago> For example, the wasmedge website claims it is the fastest runtime but I notice that your comparison page doesnt mention runtime performance at all. It would be nice to know how much slower is wasmer in that respect. The places where there are no differences between runtimes are not showcased in the shared page intentionally. Runtime performance it's not hidden because Wasmer is slower, it's hidden because there should be little difference on runtime performance between both runtimes. But just to be clear, Wasmer (when used with LLVM) should be as fast (if not faster) than WasmEdge on runtime performance. As a random fact: Wasmer 3.0 uses zero-copy deserialization mechanisms that are not yet implemented by any other runtime. So I bet my horses that Wasmer running a pre-compiled Wasm module is not just at-level with WasmEdge but probably faster :) > There doesnt seem to be anywhere that provides an unbiased comparison. Maybe wasmer could lead the charge in that respect? This is a great suggestion, actually.
- supermatt 4y agoThanks Syrus - I think this is exactly why you should expand on the comparisons. A lot of users without your experience of the internals will be looking to these comparisons for information - being able to explain things like this would go a great way to clearing up misconceptions.
- 3Sophons 4y agoWasmEdge contributor here. Performance benchmarking is complicated. We have published peer reviewed studies that show WasmEdge is the fastest in some cases. Would love to see how it performs on your workloads.
- supermatt 4y agoWhere can I find these studies? The only one I can see mentioned on the website is using runtimes over 2 years old and doesnt include either wasmtime or wasmer (which are, AFAIK, the other major runtimes at present).
- 3Sophons 4y agoWe did benchmarks last year but not recently (Will update if there are new ones). Paper: A Lightweight Design for High-performance Serverless Computing, published on IEEE Software, Jan 2021. https://arxiv.org/abs/2010.07115 https://arxiv.org/abs/2010.07115 Article: Performance Analysis for Arm vs. x86 CPUs in the Cloud, published on infoQ.com, Jan 2021. https://www.infoq.com/articles/arm-vs-x86-cloud-performance/ https://www.infoq.com/articles/arm-vs-x86-cloud-performance/ Source code of test cases: https://github.com/second-state/wasm32-wasi-benchmark https://github.com/second-state/wasm32-wasi-benchmark