Matematikawan Perancis Fabrice Bellard, yang mendirikan proyek QEMU dan FFmpeg, juga menciptakan rumus tercepat untuk menghitung bilangan Pi dan mengembangkan format gambar
Implementasi JavaScript
bench-v8 berada di depan mesin
Selain perpustakaan untuk menyematkan mesin ke dalam aplikasi, proyek ini juga menawarkan juru bahasa qjs, yang dapat digunakan untuk menjalankan kode JavaScript dari baris perintah. Selain itu, kompiler qjsc tersedia, mampu menghasilkan file keluaran yang dapat dieksekusi yang cocok untuk eksekusi mandiri yang tidak memerlukan ketergantungan eksternal.
Fitur utama:
- Ringkas dan mudah diintegrasikan ke dalam proyek lain. Kode ini hanya mencakup beberapa file C yang tidak memerlukan ketergantungan eksternal untuk perakitan. Aplikasi terkompilasi yang paling sederhana membutuhkan sekitar 190 KB;
- Performa sangat tinggi dan waktu startup singkat. Melewati 56 ribu tes kompatibilitas ECMAScript membutuhkan waktu sekitar 100 detik bila dijalankan pada satu inti PC desktop biasa. Inisialisasi runtime membutuhkan waktu kurang dari 300 mikrodetik;
- Dukungan hampir penuh untuk spesifikasi ES2019 dan dukungan penuh untuk Lampiran B, yang mendefinisikan komponen untuk kompatibilitas dengan aplikasi web lama;
- Menyelesaikan kelulusan semua tes dari ECMAScript Test Suite;
- Dukungan untuk mengkompilasi kode Javascript ke dalam file yang dapat dieksekusi tanpa ketergantungan eksternal;
- Pengumpul sampah berdasarkan penghitungan referensi tanpa pembersihan siklik, yang memungkinkan kami mencapai perilaku yang dapat diprediksi dan mengurangi konsumsi memori;
- Satu set ekstensi untuk perhitungan matematis dalam JavaScript;
- Shell untuk mengeksekusi kode dalam mode baris perintah, mendukung penyorotan kode kontekstual;
- Pustaka standar ringkas dengan pembungkus di atas pustaka C.
Proyek ini juga mengembangkan tiga perpustakaan C yang disertakan dalam QuickJS dan cocok untuk penggunaan individu:
- liregexp - implementasi ekspresi reguler yang cepat, sepenuhnya kompatibel dengan spesifikasi Javascript ES 2019;
- libunicode - perpustakaan ringkas untuk bekerja dengan Unicode;
- libbf - Implementasi operasi floating point presisi sewenang-wenang dan fungsi transendental dengan pembulatan tepat.
Sumber: opennet.ru