Google борется за повышение скорости компиляции языка Go

Источник: pcweek

Парадоксально, но факт: одной из ключевых проблем для более широкого распространения языка программирования Go, изначально созданного, чтобы, в том числе, повысить эффективность компиляции, является сегодня как раз недостаточная, по мнению наблюдателей, скорость компиляции исходного кода. Эксперты считают, что причиной определенной задержки в развитии языка стал перевод в 2015-м компилятора с Си на Go. Это произошло с выпуском в августе прошлого года версии Go 1.5, которая неожиданно оказалась медленнее, чем 1.4.

Но Google как разработчик языка отлично знает об этой проблеме и намерена решать ее. В новой версии 1.8, выпуск которой ожидается в феврале следующего года, она намерена улучшить процесс преобразования исходного кода в объектный, ожидается ускорение примерно на 15% по сравнению с версией 1.7. При этом Google не намерена переводить компилятор обратно на Си, она собирается улучшать его в рамках Go-реализации. В частности, предполагается радикально переработать парсер (синтаксический анализатор, один из ключевых компонентов компилятора). Причем работа над улучшением парсера будет продолжена: фактически в Go 1.8 будет включена его предварительная версия, а окончательный вариант будет доступен уже в Go 1.9.

Кроме того, Google хочет расширить поддержку многоплатформенности языка, точнее - обеспечить оптимизацию языка для различных аппаратных платформ. Так, если в текущей версии 1.7 основной фокусной аппаратной архитектурой была Intel 64, то версия Go 1.8 будет также оптимизирована для AMD 64. Кроме того, в новом варианте впервые появится поддержка 32-разрядной архитектуры MIPS.

Разработка языка Go началась в сентябре 2007 г., в ноябре 2009 г. он был официально представлен Google. Он базируется на синтаксисе языка Си, но при этом создан как его замена, для написания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах. Обычно в нем использует метод компиляции исходного кода в объектный для последующего формирования исполняемого кода, хотя доступен и интерпретатор.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=38851