На GitHub опублікували перший випуск wasm3 — інтерпретатора проміжного коду WebAssembly. Розробники підкреслюють, що wasm3:
- у 15,8 раза швидший за інші інтерпретатори (wac, life, wasm-micro-runtime);
- має в 4-5 разів меншу продуктивність, ніж JIT-рушії (liftoff, cranelift);
- в 11,5 раза повільніший за виконання нативного коду.
Він проходить тести на сумісність зі специфікацією WebAssembly 1.0 і може працювати з багатьма WASI-застосунками. Код проєкту написаний мовою C і розповсюджується під ліцензією MIT.
За допомогою wasm3 можна запускати WebAssembly-застосунки на мікроконтролерах і платформах, де немає реалізації JIT для WebAssembly або, наприклад, якщо для компіляції не вистачає пам'яті. Для wasm3 достатньо 10Kb RAM та 64Kb пам'яті для коду. Підтримуються платформи:
- Linux, Windows, OS X;
- Android, iOS;
- Raspberry Pi, Orange Pi та інші SBC;
- маршрутизатори на базі OpenWRT;
- мікроконтролери: Arduino MKR, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51, Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K), ATmega1284 тощо.
Також можливий селф-хостинг та компіляція wasm3 у проміжний код WebAssembly для роботи в браузері. Детальніше про проєкт можна дізнатись на його GitHub-сторінці.
Ще немає коментарів