Skip to content

Prime

素数2147483647の素数判定に要した時間の測定

条件

評価言語

言語言語のバージョンマイコン書き込みに用いたコンパイラ・マイコン実行に用いたインタプリタのバージョンビルド時の最適化オプション
C/C++書き込みボードにより異なるPlatformIO Ver6.1.11Os(サイズ優先)
TinyGo0.30.0LLVM version 16.0.1Os
MicroPython1.22.0MicroPython 1.22.0-
Rustで生成したWasmをMahiwaで実行Mahiwa Frontend Rust v0.3.0 — Rust 1.73.0 — rustup 1.26.0Mahiwa Backend v0.3.1 — Wasm3 v0.5.0 — PlatformIO Ver6.1.11Os
TinyGoで生成したWasmをMahiwaで実行Mahiwa Frontend Go v0.3.1 — TinyGo 0.30.0 — LLVM version 16.0.1Mahiwa Backend v0.3.1 — Wasm3 v0.5.0 — PlatformIO Ver6.1.11Os

評価マイコンボード

ベンダマイコンボードマイコン命令セットアーキテクチャRAM(SRAM)マイコンのデータシート
M5Stack社M5Stack Core2ESP32-D0WDQ6-V3Xtenas 32bit LX6520 KB SRAM — 8 MB PSRAMhttps://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
Raspberry Pi財団Raspberry Pi Pico WRP2040ARMv6-M264 KB SRAMhttps://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
Seeed株式会社Seeed Studio XIAO ESP32C3ESP32-C3RISC-V 32bit IMC400 KB SRAMhttps://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf

結果

関連Issues

備考

  • 最適化オプションはサイズ優先(Arduinoデフォルト)にする
    • PlatformIO(framework=arduino)のビルドはデフォルトがs
    • インタプリタ型のMicroPyhonは指定なし
    • TinyGoはデフォルトがzだがコマンドライン引数でsを指定
    • Rustのリリースビルドはデフォルトが1だがsにする