tg-me.com/Golang_google/2812
Last Update:
Статья посвящена недавнему объявлению Microsoft о миграции компилятора TypeScript с JavaScript на Go с целью повышения скорости компиляции в 10 раз.
Основные моменты:
▪ Фокус на компиляторе, а не на языке: Улучшение касается именно скорости работы компилятора, а не быстродействия самого TypeScript-кода в браузере или Node.js.
▪ Архитектурные различия: Объясняется, что однопоточная модель Node.js с event loop не оптимальна для CPU-интенсивных задач, таких как компиляция, в отличие от Go с его легковесными горутинами и нативной поддержкой параллелизма.
▪ Причины повышения производительности: Скорее всего, 10-кратное улучшение связано с тем, что оригинальная реализация на JavaScript не была достаточно оптимизирована для вычислительно сложных задач, а переход на Go позволяет обойти ограничения event loop.
▪ Альтернативы и их сложности: Рассматриваются и недостатки использования worker threads в Node.js, где проблемы с обменом данными и накладными расходами остаются актуальными.
▪ Вопросы поддержки браузеров: Поднимается вопрос, как будет обеспечена работа TypeScript в браузерах, ведь Go не работает нативно в них – возможные решения включают WebAssembly или поддержание параллельной реализации на JavaScript.
Статья анализирует не только заявленный прирост производительности, но и более глубокие архитектурные аспекты, демонстрируя, почему выбор Go может быть оправдан для сложных, CPU-интенсивных задач, таких как компиляция TypeScript.
📌 Читать полностью
@golang_google
BY Golang

Share with your friend now:
tg-me.com/Golang_google/2812