αα·αααααααααΈ Cloudflare, Mozilla, Facebook αα·α Bloomberg
αααααΆααααΆαααΆααααα
BinaryAST ααΆααα½α
α αΎααα
αααα»α
αα αααααααΎαααΆα JavaScript αααααααΆααΆα αααΎαααααΌαααΆαα αααΆααααα»αααααΆααααΆααααα»α αα·ααααααΌαα ααααα·α αΆαααΆααΆααα·ααΆααα JavaScript αααααΆαααΆααααα ααΎααα αααααααααα·ααααΆα αααΎαααΊαα·α 10 MB (α§ααΆα ααααααααΆαα LinkedIn - 7.2 MB, Facebook - 7.1 MB, Gmail - 3.9 MB) ααααΎαααΆαααααΌααα JavaScript ααααΆαααΆααααααΆααααααααααΆααα ααααΆααααΆαααααα ααΎααααααααααα·ααΈαα»αααααααααΌαααΆαααα α»αααααα αααααΆαααα’αααααααΆααααα»αααΆααααααΎα AST α±ααααΆαααααααααααΆαα αα ααααααααΌαααααΌαααΆααααα»α (αααααα·ααΈαα»αααααααΌααααα αΆααααααΆαααααα»αααΌαααΎααααΈαααα ααααΆααααα»α ααΌα ααΆα α»ααααα αααααα»αααΆα ααΎααααΈααα½αααΆα ααααααΆααααααΆααααΎααααΈαααααΆαα»αα αα α»αααααα) α
αα½ααααααα»αααααΆααΆααααααααΆααααα αΆαααααααααααααΆαα ααα αΆαααΌααααα»αααααααααααα½αα’αααααααΆ αα·αααααα½α ααααΌα ααΆαααααΆααααααΆαα»αααΌααααααααΆααααααΎαααααααααα·ααΈαα»αααα αα ααΎααα αααααααααΎα ααΌαααααΌαααΆαααααΎαα αα α»ααααααααΆαααΆααΉαααΆαα ααΌα ααααααΆααα»ααααα»αααααΆαααααααΆααα’αΆα αααααααΆααααα αΆααΆααα½ααααααααα»αααααα WebAssembly α’αΆα βααΆβαααααβααααΆαβαα½α ααα»ααααβααΆβααΆαααΆαβα±ααβααΆαβααΆαβααΆαβαααα αΌαβααΌαβα±ααβααΆαβα αααΆααβααΆαα α αΎαβαα·αβαααααα·ααβαααααΆααβααΆαβαααααΏαβααααΎαααΆαβααΌα JavaScript αααβααΆαβααααΆααα
αααααΎααα½ααααααΊααΆαα ααα αΆαααααΌααααααΆαα ααααααααααααααα½α ααΆααααα αααα½αα±ααααααααΈα JavaScript ααα»ααααα’αααα’αα·αααααααααΆαααΈααααααα·ααΈαα»ααααααααΆααααΉαααΆ αααααΆα bytecode ααΆααΈααΈααΈαα·ααΆααααα»αααΆααααααααααΆαα ααααΎαααΆααααααααΆααααααααΆα’αΆα ααΆαα±ααααΆαααΆαα αΆααααααΆααααα ααααα α αΆαα·ααααα»ααααα·ααΆαααααααααΎαα‘αΎα αα·αααΆαα’αα·αααααααα ααααααααΌαααααΆαααααααΌαααΆαααΆαααΆαα
BinaryAST α’αα»ααααΆαβα±ααβα’αααβααβααΉαβααΆαβα’αα·ααααβααΌαβαα αα α»αααααα αα·αβααααΌβα ααα αΆαβααααβα’αααβαααβαα·αβα αΆαααΆα αβαααααΎαβααΌαβααβααααΈ α¬βααΆαβααααΆααβααααΌαβααΆααΆ JavaScript α ααα ααααα·αααααααα αααα»ααααααα BinaryAST ααΊα’αΆα αααααααααα ααΉαααΌα JavaScript αααααΆαααααα½αααΌα α αΎαααααΏαααααΎαααΆααααααΆααα»αααααΆααααααΆααααΆααααα’ααααααααααααΎαα‘αΎααα½αα±ααααααααααΆααα ααΎαααΈααα ααααααα’αα»ααααΆαα±ααα ααααααα ααΆ bytecode αααααα BinaryAST ααααΌαααΆααααα»α ααααα·ααααα αΆααα·ααααααααΆααα’αααααα ααα ααΎαααΈααα ααΆαααααα ααΎααααααααΆαααΈαααα’αα»ααααΆαα±ααα’ααααααα»αααΆαααααα·αααααΎ αα·αααΌαααααα·αα αΆαααΆα αα ααααΈααααΆα BinaryAST αααααΆααααα‘αααααα·α ααααα αααααααα ααΎααααα browser ααααΎα±ααααααααααΆααααααααΆααΆααααΆαααα αα·ααααααΌαα ααΆα αααααα·αα αΆαααΆα αα
αααααααα·ααααα½ααααα BinaryAST ααααΆαααααααΆααααα»αααΆαααααΆα JavaScript αααα’αΆα α’αΆαααΆα ααααα·αααΌα ααααΆαα ααΉαααααααΎαααα ααα»ααααααΆαααααααααααΌα αα·ααα½ααααα αΌααααααααΌα ααααΆααα’ααα αα·ααα»αααΆα (BinaryAST αααααΆαα»αααααα ααα»αααααα·ααααααΆαα»αααααααΆαα’αααΈαα»αααααααα αααα»α ααΌα ααΆαααααΎαααααααααΆα αα·αααα·ααααα)α αααααααααΆααααααααΆααααΊααΆααΆαααα α ααααΌαααα·α αααααΆααααα αΆαααααΈ ααα»ααααααααα ααΆαα’αααα’αα·αααααα αα½αααΆααΆαααα αααΌα ααΆα αα·αα’αΆα αααααααααααΆαα αααΎαααΆααααααααΎαααααΎααααααα ααΌα ααΆααΆαα ααα αΆαααααΌαα
ααΆαααααΎαααααααααΌα facebook.com ααΆααααα αΆαααΆααΆαααα JavaScript ααααΎααααΆαα 10-15% ααααααΆα CPU α αΎαααΆααααααααΌαα
αααΆααααα
αααΎαααΆαααΆααααααΎα bytecode αα·αααΆααααααΎαααΌαααααΌααααααΆαα JIT α αα
αααα»ααααΆαααΈα SpiderMonkey αααααααΆααΎααααΈαααααΎα AST ααΆαααααα»αααααΌαα
αααΆαααα 500-800 ms α αΎαααΆαααααΎααααΆαα BinaryAST ααΆαααΆααααααααα½αααααα 70-90% α
ααΆααΌαα
αααααΆααααα αααααααΆαα
αααΎα αα
αααααααΎ BinaryAST αααααααΆααα JavaScript ααααΌαααΆαααΆααααααα 3-10% αα
αααα»ααααααααααααΆαααΆααααααΎαααααα·αααααΆα αα·α 90-97% αα
αααααααααααα·αα’αΎααΎαα»αααΆαααααα·αααααΎααααΌαααΆαααΎαα
αα
αααααααΎαααΆααααα»αααααα JavaScript 1.2 MB ααΆαααααΎ BinaryAST ααΆαα’αα»ααααΆαα±αααααααααΆα
αΆααααααΎααααααΎαααααΏαααΈ 338 αα
314 ms αα
ααΎαααααααααα»αααααΌαααααΎαα» (Intel i7) αα·αααΈααααΆα 2019 ααα 1455 ms αα
ααΎα§αααααα
ααα (HTC One M8) α
ααααα: opennet.ru