Рубріки: Новини

TypeScript на Go пришвидшує компіляцію, але не виконання коду

Дмитро Сімагін

Експерт розкритикував твердження Microsoft, що переведення компілятора TypeScript з JavaScript на Go дає 10-кратний приріст продуктивності. У своєму дописі на Architecture Weekly розробник Оскар Дудич пояснює, що насправді йдеться про швидкість компіляції, а не виконання коду. Тобто, ваші програми не працюватимуть швидше — пришвидшиться лише їхнє збирання. 

Компілятор не чекає на відповідь від бази даних і не займається мережевими запитами. Він завантажує процесор, розбираючи типи гілок, аналізуючи код і генеруючи вихідний файл. Node.js з його однопоточною моделлю та event loop погано підходить для таких завдань. Він чудово працює у веб-серверах, де важлива швидкість відгуку та робота з I/O, але не великі обчислення. З ростом навантаження на компілятор TypeScript, його стара архітектура почала гальмувати.

Тому Go тут виявився підходящим вибором:

  • у нього є легкі потоки (goroutines);
  • паралельне виконання вбудоване лише на рівні мови;
  • немає потреби в операціях з worker threads, як у Node.js;
  • простіше працювати з пам’яттю та складними структурами.

Чому тоді просто не використовувати worker threads у Node.js? Це можливо, і вони справді дають паралельність. Але варто врахувати, що переписувати старий код з урахуванням багатопоточності не дуже ефективно. Обмін даними між потоками Node.js йде через серіалізацію, кожен потік створює свій V8-інстанс, що досить дорого для ресурсів.

Команда Microsoft вирішила не удосконалювати старе, а розпочати все з чистого аркуша. І, як довели перші тести, навіть однопотоковий Go-компілятор виявився швидшим, ніж старий на Node.js.

Що стосується браузерів і плагінів, то в браузерах Go не працює нативно. Тому доведеться або компілювати його в WebAssembly, або зберегти JS-версію для різних playground. Так чи інакше, технологія, яка добре працювала у 2012 році, перестає відповідати вимогам сьогодення. Заперечувати цінність змін не варто, особливо якщо йде мова про роботу з великими кодовими базами, де кожен відсоток прискорення важливий.

Останні статті

FAVBET Tech сплатили ₴650 млн податків у 2025-му. Це 20 тис. дронів або 40 тис. антидронових рушниць

За дев’ять місяців 2025 року українська ІТ-компанія FAVBET Tech перерахувала до державного бюджету понад 650…

24.10.2025

Microsoft додає в Copilot групи з підтримкою до 32 учасників, режим репетитора Learn Live та анімованого помічника

Microsoft впроваджує деякі суттєві зміни до свого помічника Copilot. По-перше, з’явилася нова функція груп, яка…

24.10.2025

У Google Meet з’явились «кімнати очікування»

Компанія Google додає в свій сервіс відеозв'язку Meet «кімнати очікування», які покращують контроль над онлайн-зустріччю…

24.10.2025

ChatGPT тепер може аналізувати внутрішні корпоративні дані

OpenAI додає в ChatGPT функцію під назвою Company knowledge. Вона працює на базі версії GPT-5,…

24.10.2025

PyTorch представляє Monarch — фреймворк для програмування на тисячах комп’ютерів

Команда PyTorch випустила фреймворк з відкритим кодом Monarch, який дозволяє Python-розробникам програмувати розподілені системи так,…

24.10.2025

Агент Cursor врятував розробника від хакера, який видавав себе за українця

Розробник Девід Додда каже, що був лише «за 30 секунд» від запуску шкідливого програмного забезпечення…

24.10.2025