Fabrice Belard แž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“ JavaScript

แž‚แžŽแžทแžแžœแžทแž‘แžผแž‡แž“แž‡แžถแžแžทแž”แžถแžšแžถแŸ†แž„ Fabrice Bellard แžŠแŸ‚แž›แž›แŸ’แž”แžธแž›แŸ’แž”แžถแž‰แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž„แžถแžšแžšแž”แžŸแŸ‹แž‚แžถแžแŸ‹แž›แžพ ffmpeg, qemu, tcc แž“แžทแž„แž€แžถแžšแž‚แžŽแž“แžถ pi แž”แžถแž“แž”แž„แŸ’แž€แžพแž QuickJS แž‡แžถแžŸแžถแž’แžถแžšแžŽแŸˆ แžŠแŸ‚แž›แž‡แžถแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž”แž„แŸ’แžšแžฝแž˜แž“แŸƒ JavaScript แž‡แžถแž”แžŽแŸ’แžŽแžถแž›แŸแž™แž“แŸ…แž€แŸ’แž“แžปแž„ C.

  • แžŸแŸ’แž‘แžพแžšแžแŸ‚แž‚แžถแŸ†แž‘แŸ’แžšแž€แžถแžšแž”แž‰แŸ’แž‡แžถแž€แŸ‹ ES2019 แž™แŸ‰แžถแž„แž–แŸแž‰แž›แŸแž‰แŸ”
  • แžšแžฝแž˜แž‘แžถแŸ†แž„แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜แž‚แžŽแžทแžแžœแžทแž‘แŸ’แž™แžถแŸ”
  • แž†แŸ’แž›แž„แž€แžถแžแŸ‹แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แž ECMAScript Test Suite แž‘แžถแŸ†แž„แžขแžŸแŸ‹แŸ”
  • แž˜แžทแž“แž˜แžถแž“แž€แžถแžšแž–แžนแž„แž•แŸ’แžขแŸ‚แž€แž›แžพแž”แžŽแŸ’แžŽแžถแž›แŸแž™แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž‘แŸแŸ”
  • แž‘แŸ†แž แŸ†แžแžผแž…แž“แŸƒแž”แžŽแŸ’แžŽแžถแž›แŸแž™แžŠแŸ‚แž›แž‡แžถแž”แŸ‹แž‘แžถแž€แŸ‹แž‘แž„แž‚แŸ’แž“แžถ - แž–แžธ 190 KiB แž›แžพ x86 แžŸแž˜แŸ’แžšแžถแž”แŸ‹ "hello world" แŸ”
  • แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แž›แžฟแž“ - แž†แŸ’แž›แž„แž€แžถแžแŸ‹แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แž ECMAScript Test Suite แž…แŸ†แž“แžฝแž“ 56000 แž€แŸ’แž“แžปแž„แžšแž™แŸˆแž–แŸแž› ~ 100s แž“แŸ…แž›แžพ 1 แžŸแŸ’แž“แžผแž›แž“แŸƒแž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž›แžพแžแžปแŸ” แžœแžŠแŸ’แžแž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แžˆแž”แŸ‹แž›แžพแžŸ < 300 ยตs แŸ”
  • แžขแžถแž…แž…แž„แž€แŸ’แžšแž„ Javascript แž‘แŸ…แž‡แžถแžฏแž€แžŸแžถแžšแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž”แžถแž“แžŠแŸ„แž™แž˜แžทแž“แž˜แžถแž“แž€แžถแžšแž–แžนแž„แž–แžถแž€แŸ‹แžแžถแž„แž€แŸ’แžšแŸ…แŸ”
  • แžขแžถแž…แž…แž„แž€แŸ’แžšแž„ Javascript แž‘แŸ… WebAssembly แŸ”
  • แžขแŸ’แž“แž€แž”แŸ’แžšแž˜แžผแž›แžŸแŸ†แžšแžถแž˜แžŠแŸ‚แž›แž˜แžถแž“แžŸแžผแž…แž“แžถแž€แžšแž™แŸ„แž„ (แž€แŸ†แžŽแžแŸ‹ แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แž‘แžถแž”)แŸ”
  • แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แž”แž“แŸ’แž‘แžถแžแŸ‹แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž”แž“แŸ’แž›แžทแž… snitaxis แž–แžŽแŸŒแŸ”

แž“แŸแŸ‡แž”แžพแž™แŸ„แž„แžแžถแž˜ แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แžแž€แžถแžšแžขแž“แžปแžœแžแŸ’แž แž–แžธ แž€แžถแžšแž–แžทแž—แžถแž€แŸ’แžŸแžถแž“แŸ…แž›แžพ Opennet.ruแž›แŸ’แž”แžฟแž“แž“แŸƒ QuickJS แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แžแž‚แžบ 15-40 แžŠแž„แžแžทแž…แž‡แžถแž„ Node.js แŸ”

แž”แŸ’แžšแž—แž–: linux.org.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹