Mozilla і Facebook розвивають BinaryAST для прискорення JavaScript

1 хв. читання

Розробники Cloudflare, Mozilla, Facebook і Bloomberg запропонували новий формат BinaryAST, що має прискорити опрацювання коду JavaScript. BinaryAST переносить фазу синтаксичного розбору на бік серверу і постачає вже сформоване абстрактне синтаксичне дерево (AST). Так браузер одразу може перейти до компілювання, без парсингу вихідного коду JavaScript.

without-binAST With-BinAST

Під час опрацювання JavaScript багато ресурсів йде на завантаження і синтаксичний розбір коду. Обсяг JavaScript на багатьох популярних сайтах наближується до 10 Мб (7,2 на LinkedIn, 7,1 на Facebook), тож перше опрацювання JavaScript займає досить багато часу. Частково цю проблему намагаються подолати мінімізацією і стисненням коду, а також кешуванням згенерованого байткоду.

BinaryAST дозволяє обійтись без цього і доставляти код без створення нового формату байткоду та без змін у JavaScript. При цьому розмір даних у форматі BinaryAST такий, як у мінімізованому JavaScript-коді, а швидкість опрацювання помітно зростає.

binast

Вже готова еталонна реалізація для тестування, вона поширюється під ліцензію MIT. Для парсингу використовуються компоненти Node.js, а код для оптимізації та форматування AST написаний мовою Rust. Підтримка BinaryAST також доступна у нічних збірках Firefox.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація