Π€ΡΠ°Π½ΡΡΠ·ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊ Π€Π°Π±ΡΠΈΡ ΠΠ΅Π»Π»Π°Ρ (Fabrice Bellard), ΠΎΡΠ½ΠΎΠ²Π°Π²ΡΠΈΠΉ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ QEMU ΠΈ FFmpeg, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²ΡΠΈΠΉ ΡΠ°ΠΌΡΡ Π±ΡΡΡΡΡΡ ΡΠΎΡΠΌΡΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° ΠΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π²ΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ JavaScript
bench-v8 ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Π΄Π²ΠΈΠΆΠΎΠΊ
ΠΡΠΎΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ qjs, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° JavaScript-ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ qjsc, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎΡΠ° Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠΎΠ΄ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 190 ΠΠ±;
- ΠΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠ°Π»ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°. ΠΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ 56 ΡΡΡΡΡ ΡΠ΅ΡΡΠΎΠ² Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ECMAScript Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 100 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΄ΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΠ. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ runtime Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½Π΅Π΅ 300 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄;
- ΠΠΎΡΡΠΈ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ES2019 ΠΈ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ «B», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ;
- ΠΠΎΠ»Π½ΠΎΠ΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ² ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ECMAScript Test Suite;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Javascript Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±Π΅Π· Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ;
- Π‘Π±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ΄ΡΡΡΡΠ° ΡΡΡΠ»ΠΎΠΊ Π±Π΅Π· ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ²ΡΠΈΠΉ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ;
- ΠΠ°Π±ΠΎΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ JavaScript;
- ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΠΊΠΎΠ΄Π°;
- ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠ°ΠΌΠΈ Π½Π°Π΄ Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ.
ΠΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΡΡΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² QuickJS ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- libregexp — Π±ΡΡΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Javascript ES 2019;
- libunicode — ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Unicode;
- libbf — ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ°Π½ΡΡΠ΅Π½Π΄Π΅Π½ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΡΠΎΡΠ½ΡΠΌ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ΠΌ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru