wasm-micro-runtime/tests/benchmarks/libsodium
2023-11-27 15:53:37 +08:00
..
build.sh Fix build error of libsodium benchmark (#2792) 2023-11-20 10:45:02 +08:00
README.md Enable static PGO for Linux SGX (#2270) 2023-06-09 14:13:43 +08:00
run_aot.sh Fix typos in libsodium workload (#2825) 2023-11-27 15:53:37 +08:00
test_pgo.sh Fix typos in libsodium workload (#2825) 2023-11-27 15:53:37 +08:00

Introduction

libsodium is a new, easy-to-use software library for encryption, decryption, signatures, password hashing and more.

Source: https://github.com/jedisct1/libsodium

Building

Please build iwasm and wamrc, refer to:

And install zig toolchain, refer to Install Zig from a Package Manager for how to install it.

And then run ./build.sh to build the source code, the libsodium source code will be cloned, and test benchmarks of native version, wasm files and AOT files will be generated under libsodium/zig-out/bin.

Running

Run ./run_aot.sh to test the benchmark, the native mode and iwasm aot mode will be tested respectively.

Run ./test_pgo.sh to test the benchmark with AOT static PGO (Profile-Guided Optimization) enabled, please refer here to install tool llvm-profdata and build iwasm with cmake -DWAMR_BUILD_STATIC_PGO=1.

  • For Linux, build iwasm with cmake -DWAMR_BUILD_STATIC_PGO=1, then run ./test_pgo.sh to test the benchmark with AOT static PGO (Profile-Guided Optimization) enabled.

  • For Linux-sgx, similarly, build iwasm with cmake -DWAMR_BUILD_STATIC_PGO=1, then make in the directory enclave-sample. And run ./test_pgo.sh --sgx to test the benchmark.

Others

Refer to Performance of WebAssembly runtimes in 2023 for more about the performance comparison of wasm runtimes on running the libsodium benchmarks.