TypeScript на Go пришвидшує компіляцію, але не виконання коду
Експерт розкритикував твердження Microsoft, що переведення компілятора TypeScript з JavaScript на Go дає 10-кратний приріст продуктивності. У своєму дописі на Architecture Weekly розробник Оскар Дудич пояснює, що насправді йдеться про швидкість компіляції, а не виконання коду. Тобто, ваші програми не працюватимуть швидше — пришвидшиться лише їхнє збирання.
Компілятор не чекає на відповідь від бази даних і не займається мережевими запитами. Він завантажує процесор, розбираючи типи гілок, аналізуючи код і генеруючи вихідний файл. Node.js з його однопоточною моделлю та event loop погано підходить для таких завдань. Він чудово працює у веб-серверах, де важлива швидкість відгуку та робота з I/O, але не великі обчислення. З ростом навантаження на компілятор TypeScript, його стара архітектура почала гальмувати.
Тому Go тут виявився підходящим вибором:
Чому тоді просто не використовувати worker threads у Node.js? Це можливо, і вони справді дають паралельність. Але варто врахувати, що переписувати старий код з урахуванням багатопоточності не дуже ефективно. Обмін даними між потоками Node.js йде через серіалізацію, кожен потік створює свій V8-інстанс, що досить дорого для ресурсів.
Команда Microsoft вирішила не удосконалювати старе, а розпочати все з чистого аркуша. І, як довели перші тести, навіть однопотоковий Go-компілятор виявився швидшим, ніж старий на Node.js.
Що стосується браузерів і плагінів, то в браузерах Go не працює нативно. Тому доведеться або компілювати його в WebAssembly, або зберегти JS-версію для різних playground. Так чи інакше, технологія, яка добре працювала у 2012 році, перестає відповідати вимогам сьогодення. Заперечувати цінність змін не варто, особливо якщо йде мова про роботу з великими кодовими базами, де кожен відсоток прискорення важливий.
Microsoft додає нову функцію Copilot в Excel, яка автоматично доповнює формули під час введення. Автодоповнення…
Компанія Aikido Security виявила наймасштабнішу атаку на екосистему JavaScript. Хакери зламали обліковий запис одного з…
Співробітників IT-компаній віком від 21 до 25 років за два з половиною роки поменшало вдвічі,…
Опитування, проведене серед 144 IT-спеціалістів, які зараз перебувають в Силах оборони України, виявило, що найбільше…
Google оновила на своєму сайті розділ Центр довідки, в якому детально описані обмеження Gemini для…
Керівник Головного управління розвідки Міністерства оборони Кирило Буданов запевнив, що новий російський месенджер MAX від…