diff --git a/README.md b/README.md index a72b31d8..104b0f08 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,11 @@ is built with an ancient wasi-sdk to workaround * Correctness * Clean code * Small footprint +* Portability + * Core wasm: C11 + * WASI: POSIX-like + * Clang/LLVM extentions are ok where an alternative implmentation + in pure C is reasonably easy. ## Non-goals @@ -72,42 +77,19 @@ It includes ## Where can this run? -### The most tested - -* macOS/amd64 -* wasm32-wasi (on toywasm itself) - -### Tested on CI - -#### Natively - -* macOS/amd64 -* Ubuntu/amd64 - -#### With qemu - -* Ubuntu/arm64 -* Ubuntu/armhf (Note: 32-bit) - -#### With qemu (less coverage because of slowness) - -* Ubuntu/s390x (Note: big endian) -* Ubuntu/risc-v - -(I haven't investigated why they are slower than others. -It might be related to the fact that our build disables LTO -for them for toolchain issues.) - -#### With toywasm (less coverage because of slowness) - -* wasm32-wasi - -### Occasionally tested manually - -* wasm32-wasi-threads -* NuttX/xtensa -* NuttX/sim on macOS/amd64 -* NetBSD/amd64 +|Platform |Tested on CI |Notes | +| ---------------------- | --------------- | --------------------------- | +|macOS/amd64 |Yes | | +|wasm32-wasi |Yes (on toywasm) | | +|Ubuntu/amd64 |Yes | | +|Ubuntu/arm64 |Yes (on qemu) | | +|Ubuntu/armhf |Yes (on qemu) |32-bit | +|Ubuntu/s390x |Yes (on qemu) |Big endian | +|Ubuntu/riscv64 |Yes (on qemu) | | +|wasm32-wasi-threads |No |Occasionally tested manually | +|NuttX/esp32 |No |Occasionally tested manually | +|NuttX/sim on macOS/amd64|No |Occasionally tested manually | +|NetBSD/amd64 |No |Occasionally tested manually | ## How slow/fast is this? diff --git a/benchmark/ffmpeg.md b/benchmark/ffmpeg.md index 52970334..8a1becab 100644 --- a/benchmark/ffmpeg.md +++ b/benchmark/ffmpeg.md @@ -93,6 +93,13 @@ measure the time taken. 1637302272 peak memory footprint ``` +* Run on a macOS/amd64 laptop: + + ``` + MacBook Pro (15-inch, 2018) + 2.2 GHz 6-Core Intel Core i7 + ``` + ## Observations * toywasm performs reasonably well for an interpreter. diff --git a/benchmark/startup.md b/benchmark/startup.md index e35cb21a..58513668 100644 --- a/benchmark/startup.md +++ b/benchmark/startup.md @@ -12,7 +12,12 @@ print the `-version` message) ![Result](./startup.png) -* Run on a macOS/amd64 laptop. +* Run on a macOS/amd64 laptop: + + ``` + MacBook Pro (15-inch, 2018) + 2.2 GHz 6-Core Intel Core i7 + ``` * [Raw values](./startup.txt) diff --git a/test/run-spidermonkey.sh b/test/run-spidermonkey.sh index 75ad0fb8..19534eb9 100755 --- a/test/run-spidermonkey.sh +++ b/test/run-spidermonkey.sh @@ -1,5 +1,9 @@ #! /bin/sh +# Note: spidermonkey uses nan-boxing, which is one of motivations of +# nan-canonicalization in wasm. +# cf. https://github.com/WebAssembly/design/issues/1463 + set -e BIN=.spidermonkey/spidermonkey.wasm if [ ! -f ${BIN} ]; then