diff --git a/.github/workflows/compilation_on_nuttx.yml b/.github/workflows/compilation_on_nuttx.yml index 98cbb24ff..5ff2d181c 100644 --- a/.github/workflows/compilation_on_nuttx.yml +++ b/.github/workflows/compilation_on_nuttx.yml @@ -61,8 +61,6 @@ jobs: "boards/arm/rp2040/raspberrypi-pico/configs/nsh", # cortex-m7 "boards/arm/stm32h7/nucleo-h743zi/configs/nsh", - # riscv32imc - "boards/risc-v/espressif/esp32c3-generic/configs/nsh", # riscv32gc "boards/risc-v/qemu-rv/rv-virt/configs/nsh", # riscv64gc @@ -114,3 +112,26 @@ jobs: cd nuttx tools/configure.sh ${{ matrix.nuttx_board_config }} make -j$(nproc) EXTRAFLAGS=-Werror + + - name: Checkout Bloaty + uses: actions/checkout@v3 + with: + repository: google/bloaty + submodules: recursive + path: bloaty + + - name: Build Bloaty + run: | + cmake -Bbuild -GNinja bloaty + cmake --build build + + - name: Size Report + run: | + echo "Build target: ${{ matrix.nuttx_board_config }}" + echo "WAMR build config: ${{ matrix.wamr_config_option }}" + echo "WAMR size:" + build/bloaty -d compileunits --source-filter wamr nuttx/nuttx + echo "libc-builtin size (if enabled):" + build/bloaty -d compileunits --source-filter libc-builtin nuttx/nuttx + echo "libc-wasi size (if enabled):" + build/bloaty -d compileunits --source-filter libc-wasi nuttx/nuttx diff --git a/README.md b/README.md index d09e826ab..d89d0cd17 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,12 @@ WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly (Wasm) ### Key features - Full compliant to the W3C Wasm MVP -- Small runtime binary size (~85K for interpreter and ~50K for AOT) and low memory usage +- Small runtime binary size (core vmlib on cortex-m4f with tail-call/bulk memroy/shared memroy support, text size from bloaty) + * ~58.9K for fast interpreter + * ~56.3K for classic interpreter + * ~29.4K for aot runtime + * ~21.4K for libc-wasi library + * ~3.7K for libc-builtin library - Near to native speed by AOT and JIT - Self-implemented AOT module loader to enable AOT working on Linux, Windows, MacOS, Android, SGX and MCU systems - Choices of Wasm application libc support: the built-in libc subset for the embedded environment or [WASI](https://github.com/WebAssembly/WASI) for the standard libc