wasm-benchmark

wasm32-wasi benchmarks

all benchmarking C/C++ source are comming from The Computer Langeuage Benchmarks Game.

Requirement

Use the configure.sh to install the following dependencies for this benchmark. Or you can follow the installation intructions from these website to setup your working environment.

Recent Benchmark Results

Runs on Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz, 5.8.0-1027-azure

compile time WasmEdge lucet WAVM WasmerSinglePass WasmerCranelift WasmerLLVM
nop 0.430 0.039 0.228 0.017 0.025 0.215
cat-sync 0.562 0.049 0.315 0.019 0.025 0.219
nbody-c 1.921 0.207 1.478 0.029 0.106 1.425
nbody-cpp 8.476 0.313 5.779 0.099 0.172 1.723
fannkuch-redux-c 2.415 0.206 1.468 0.028 0.106 1.407
mandelbrot-c 1.930 0.198 1.480 0.031 0.104 1.441
mandelbrot-simd-c 1.941 0.004 1.500 0.022 0.115 1.471
binary-trees-c 1.908 0.209 1.372 0.024 0.090 1.323
fasta 0.496 0.039 0.279 0.016 0.021 0.187
execution time native WasmEdge lucet WAVM WasmerSinglePass WasmerCranelift WasmerLLVM WasmerJIT node16
nop 0.001(0.000) 0.009(0.002) 0.010(0.012) 0.028(0.006) 0.008(0.003) 0.006(0.000) 0.006(0.001) 0.010(0.007) 0.061(0.001)
cat-sync 0.003(0.001) 0.012(0.001) 0.012(0.002) 0.030(0.001) 0.013(0.002) 0.013(0.001) 0.012(0.002) 0.015(0.006) 0.062(0.003)
nbody-c 4.409(0.030) 4.977(0.169) 7.146(0.125) 4.917(0.142) 17.572(0.318) 6.964(0.057) 5.301(0.127) 6.919(0.141) 4.253(0.054)
nbody-cpp 4.149(0.056) 4.941(0.111) 7.832(0.068) 4.362(0.046) 17.029(0.264) 7.146(0.091) 6.160(0.171) 7.425(0.154) 5.536(0.072)
fannkuch-redux-c 34.207(0.633) 40.827(0.568) 84.599(1.197) 38.752(0.638) 95.409(1.886) 88.059(0.460) 49.302(1.163) 88.617(1.881) 39.999(0.905)
mandelbrot-c 10.377(0.193) 16.545(0.297) failed 15.761(0.245) 61.805(0.854) 24.382(0.409) 25.620(0.258) 24.403(0.440) 13.921(0.271)
mandelbrot-simd-c 4.979(0.111) 6.510(0.061) failed 6.243(0.092) failed 7.682(0.098) 17.444(0.093) 0.007(0.001) 5.284(0.064)
binary-trees-c 21.669(0.267) 17.418(0.414) failed 19.841(0.493) 56.769(0.505) 42.824(0.432) 19.469(0.304) 43.933(0.442) 24.055(0.425)
fasta-c 2.043(0.038) 2.896(0.058) 5.316(0.130) 2.230(0.043) 7.529(0.118) 7.818(0.066) 2.280(0.056) 8.049(0.057) 4.703(0.068)

Runs on Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz, 5.4.0-80-generic

compile time WasmEdge lucet WAVM WasmerSinglePass WasmerCranelift WasmerLLVM
nop 0.199 0.016 0.114 0.007 0.010 0.087
cat-sync 0.264 0.017 0.152 0.007 0.011 0.087
nbody-c 0.501 0.032 0.313 0.008 0.027 0.221
nbody-cpp 3.525 0.064 2.476 0.023 0.047 0.475
fannkuch-redux-c 0.562 0.032 0.334 0.008 0.027 0.208
mandelbrot-c 0.505 0.032 0.309 0.008 0.026 0.219
mandelbrot-simd-c 0.507 0.002 0.323 0.007 0.027 0.217
binary-trees-c 0.487 0.032 0.309 0.008 0.027 0.204
fasta 0.253 0.017 0.141 0.007 0.011 0.086
execution time native WasmEdge lucet WAVM WasmerSinglePass WasmerCranelift WasmerLLVM WasmerJIT node16
nop 0.000(0.000) 0.004(0.000) 0.002(0.000) 0.029(0.010) 0.003(0.000) 0.003(0.000) 0.003(0.000) 0.005(0.003) 0.026(0.000)
cat-sync 0.002(0.000) 0.006(0.000) 0.004(0.000) 0.033(0.012) 0.005(0.000) 0.005(0.000) 0.005(0.000) 0.007(0.004) 0.028(0.000)
nbody-c 2.317(0.005) 2.531(0.006) 3.768(0.003) 2.587(0.018) 9.662(0.002) 3.732(0.022) 2.537(0.002) 3.723(0.033) 2.108(0.019)
nbody-cpp 2.225(0.002) 2.560(0.023) 3.990(0.037) 2.569(0.021) 9.188(0.011) 4.016(0.002) 2.541(0.017) 4.000(0.041) 2.123(0.015)
fannkuch-redux-c 19.100(0.136) 20.912(0.125) 44.513(0.257) 21.696(0.139) 49.718(0.042) 26.822(0.157) 23.173(0.146) 26.731(0.215) 20.928(0.387)
mandelbrot-c 3.722(0.026) 7.587(0.018) failed 7.583(0.030) 25.002(0.164) 10.204(0.065) 6.922(0.056) 10.214(0.070) 6.743(0.006)
mandelbrot-simd-c 2.537(0.020) 3.565(0.013) failed 3.540(0.021) failed 4.689(0.029) 3.975(0.035) 4.700(0.044) 2.670(0.023)
binary-trees-c 10.296(0.068) 8.950(0.046) failed 9.913(0.052) 29.281(0.212) 13.462(0.141) 11.290(0.105) 13.566(0.196) 12.432(0.116)
fasta-c 1.110(0.007) 1.228(0.002) 2.695(0.002) 1.271(0.016) 3.639(0.031) 1.675(0.011) 1.275(0.009) 1.671(0.014) 1.762(0.014)