From 7df2cd3782e22127188bd5f0cf980fd7718ee4de Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sat, 7 Dec 2019 06:18:30 +0200 Subject: [PATCH] Add Smallpt benchmark --- test/benchmark/smallpt/README.md | 44 +++++++++++++++++++++++++ test/benchmark/smallpt/smallpt-ex.wasm | Bin 0 -> 55762 bytes test/benchmark/smallpt/smallpt.wasm | Bin 0 -> 54558 bytes 3 files changed, 44 insertions(+) create mode 100644 test/benchmark/smallpt/README.md create mode 100755 test/benchmark/smallpt/smallpt-ex.wasm create mode 100755 test/benchmark/smallpt/smallpt.wasm diff --git a/test/benchmark/smallpt/README.md b/test/benchmark/smallpt/README.md new file mode 100644 index 0000000..853bd56 --- /dev/null +++ b/test/benchmark/smallpt/README.md @@ -0,0 +1,44 @@ +# smallpt + +### Results + +```log +TODO +``` + +### Building + +```sh +wasic++ -O3 -Wl,-z,stack-size=$[256*1024] smallpt-ex.cpp -o smallpt-ex.wasm +``` + +### Running + +```sh +export ENGINES_PATH=/opt/wasm_engines + +# Wasm3 +../../../build/wasm3 smallpt-ex.wasm > image.ppm + +# WAC +$ENGINES_PATH/wac/wax smallpt-ex.wasm > image.ppm + +# wasm-micro-runtime +$ENGINES_PATH/wasm-micro-runtime/core/iwasm/products/linux/build/iwasm smallpt-ex.wasm > image.ppm + +# wasmtime +wasmtime --optimize smallpt-ex.wasm > image.ppm + +# Wasmer +wasmer run smallpt-ex.wasm > image.ppm +wasmer run --backend singlepass smallpt-ex.wasm > image.ppm +wasmer run --backend llvm smallpt-ex.wasm > image.ppm + +# Wasmer-JS (V8) +wasmer-js run smallpt-ex.wasm > image.ppm + +node --wasm_interpret_all $(which wasmer-js) run smallpt-ex.wasm > image.ppm + +# WAVM +$ENGINES_PATH/WAVM/Release/bin/wavm run smallpt-ex.wasm > image.ppm +``` diff --git a/test/benchmark/smallpt/smallpt-ex.wasm b/test/benchmark/smallpt/smallpt-ex.wasm new file mode 100755 index 0000000000000000000000000000000000000000..ff07e661834645aa6bc56c64ee6ee4865c3661bc GIT binary patch literal 55762 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 literal 0 HcmV?d00001 diff --git a/test/benchmark/smallpt/smallpt.wasm b/test/benchmark/smallpt/smallpt.wasm new file mode 100755 index 0000000000000000000000000000000000000000..09020ac788b8efd3c35928814d902d953baf30ff GIT binary patch literal 54558 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 GFZ&Nq_UoSj literal 0 HcmV?d00001