QEMU рдФрд░ FFmpeg рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рдиреЗ QuickJS рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛

рдлреНрд░рд╛рдВрд╕реАрд╕реА рдЧрдгрд┐рддрдЬреНрдЮ рдлреИрдмреНрд░рд┐рд╕ рдмреЗрд▓рд╛рд░реНрдб, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдмрд╛рд░ QEMU рдФрд░ FFmpeg рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА, рдФрд░ pi рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдлреЙрд░реНрдореВрд▓рд╛ рднреА рдмрдирд╛рдпрд╛ рдФрд░ рдЫрд╡рд┐ рдкреНрд░рд╛рд░реВрдк рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ред рдмреАрдкреАрдЬреА, рдПрдХ рдирдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреА рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рдХреНрд╡рд┐рдХрдЬреЗрдПрд╕. рдЗрдВрдЬрди рдХреЙрдореНрдкреИрдХреНрдЯ рд╣реИ рдФрд░ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб C рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Emscripten рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ WebAssembly рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдЗрдВрдЬрди рдХреА рдПрдХ рдЕрд╕реЗрдВрдмрд▓реА рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ ES2019 рд╡рд┐рдирд┐рд░реНрджреЗрд╢, рдЬрд┐рд╕рдореЗрдВ рдореЙрдбреНрдпреВрд▓, рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЬрдирд░реЗрдЯрд░ рдФрд░ рдкреНрд░реЙрдХреНрд╕реА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЧреИрд░-рдорд╛рдирдХ рдЧрдгрд┐рдд рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рд╡рд┐рд╕реНрддрд╛рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ BigInt рдФрд░ BigFloat рдкреНрд░рдХрд╛рд░, рд╕рд╛рде рд╣реА рдСрдкрд░реЗрдЯрд░ рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ. рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, QuickJS рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рдореМрдЬреВрджрд╛ рдПрдирд╛рд▓реЙрдЧреНрд╕, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рдореЗрдВ
рдмреЗрдВрдЪ-рд╡реА8 рдЗрдВрдЬрди рд╕реЗ рдЖрдЧреЗ рд╣реИ XS 35% рдбрдХреНрдЯрдЯреЗрдк рджреЛ рдмрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдЬреИрд░реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреАрди рдмрд╛рд░ рдФрд░ рдПрдордпреВрдЬреЗрдПрд╕ рд╕рд╛рдд рдмрд╛рд░ред

рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЗрдВрдЬрди рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреНрдпреВрдЬреЗрдПрд╕ рджреБрднрд╛рд╖рд┐рдпрд╛ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, qjsc рдХрдВрдкрд╛рдЗрд▓рд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреЛ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

  • рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЖрд╕рд╛рдиред рдХреЛрдб рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд╕рдВрдХрд▓рд┐рдд рд╕рд░рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рдЧрднрдЧ 190 KB рд▓реЗрддрд╛ рд╣реИ;
  • рдмрд╣реБрдд рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдХрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордпред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдбреЗрд╕реНрдХрдЯреЙрдк рдкреАрд╕реА рдХреЗ рдПрдХрд▓ рдХреЛрд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░ 56 рд╣рдЬрд╛рд░ рдИрд╕реАрдПрдордПрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдЧрддрддрд╛ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ 100 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред рд░рдирдЯрд╛рдЗрдо рдЖрд░рдВрднреАрдХрд░рдг рдореЗрдВ 300 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рд╕реЗ рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ;
  • ES2019 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдФрд░ рдЕрдиреБрдмрдВрдз рдмреА рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди, рдЬреЛ рдкреБрд░рд╛рдиреЗ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдШрдЯрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ;
  • рдИрд╕реАрдПрдордПрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рд╕реЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкреВрд░реНрдг рдЙрддреНрддреАрд░реНрдг рд╣реЛрдирд╛;
  • рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди;
  • рдХреНрд▓реАрдирдЕрдк рд╕рд╛рдЗрдХреНрд▓рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрджрд░реНрдн-рдЧрдгрдирд╛ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛, рдЬрд┐рд╕рдиреЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдХрдо рдореЗрдореЛрд░реА рдЦрдкрдд рдХреА рдЕрдиреБрдорддрд┐ рджреА;
  • рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рд╖рд╛ рдореЗрдВ рдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ;
  • рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЛрдб рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЗрд▓ рдЬреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ;
  • рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред

рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреНрд╡рд┐рдХрдЬреЗрдПрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рддреАрди рд╕рд╣рдпреЛрдЧреА рд╕реА-рд▓рд╛рдЗрдмреНрд░реЗрд░реА рднреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдПрдХ рдЕрд▓рдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ:

  • libregexp рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рддреЗрдЬрд╝ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ ES 2019 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ;
  • рд▓рд┐рдмреБрдирд┐рдХреЛрдб рдпреВрдирд┐рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ;
  • рд▓рд┐рдмрдмреАрдПрдл рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╕рдЯреАрдХ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рдВрд╕ рдФрд░ рд╕рдЯреАрдХ рдЧреЛрд▓рд╛рдХрд╛рд░ рдЯреНрд░рд╛рдиреНрд╕реЗрдВрдбреИрдВрдЯрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ