Язык Go обновился до версии 1.15
T-Rex
Тираннозавр Рекс

На днях представлен релиз языка программирования Go 1.15. Как известно, изначально это был проект компании Google, который вышел за пределы корпорации и стал развиваться при поддержке сторонних разработчиков. Код проекта распространяется под лицензией BSD.

Достоинств у Go много, о них не раз писали на Хабре. Среди прочих стоит отметить то, что Go изначально разрабатывался в качестве проекта многопоточного программирования с возможностью создания программ и сервисов, способных работать на многоядерных системах. В версии 1.15 появилось немало ожидаемых нововведений.

Полный список новшеств здесь, а основные перечислим ниже:

  • Оптимизирована работа компоновщика. Это относится как к общей производительности, так и к сокращению потребления памяти и упрощению сопровождения кода. Результат виден сразу. Так, при тестировании в ОС с использованием исполняемых файлов ELF компоновка типового набора крупных Go-приложений стала выполняться на 20% быстрее. При этом потребление памяти снижается на 30%.
  • Разработчики оптимизировали компилятор, так что теперь размер генерируемых исполняемых файлов снизился в среднем на 5%. Главным образом, за счет прекращения использования ряда метаданных для сборщика мусора и удаления неиспользуемых метаданных.
  • Runtime оптимизирован в плане распределения мелких объектов на системах с большим числом ядер CPU, одновременно сокращены задержки. При сбоях теперь выводятся значения с числовыми и строковыми типами вместо показа адреса.
  • В компиляторе и ассемблере появился флаг -spectre для включения защиты от атак класса Spectre.
  • Поле CommonName в сертификатах X.509 объявлено устаревшим.
  • Разработчики могут перечислять несколько прокси в команде go в переменной окружения GOPROXY.
  • В утилите vet появилось предупреждение о попытке преобразования из string(x) в том случае, если x — целочисленный тип, отличный от rune или byte.
  • В утилиту objdump добавлен флаг -gnu для поддержки вывода дизассемблерных дампов в синтаксисе GNU assembler.
  • Появился новый пакет time/tzdata, который дает возможность встроить в программу БД с информацией о часовых поясах.
  • В стандартной библиотеке появилось много разных улучшений.

Как видим, проект активно развивается. Он не теряет своей главной особенности — гибридности, где сочетается высокая производительность компилируемых языков с достоинствами языков скриптовых.

Что еще почитать по теме

Владимир Туров 1 сентября 2020

Дело совершенно секретного iPod

Это был обычный серый день в конце 2005 года. Я сидел на рабочем месте и писал код для следующей версии iPod. Вдруг без стука ворвался директор ПО для iPod, начальник моего начальника, и закрыл дверь.
Владимир Туров 1 сентября 2020

Новое в блоге

Ульяна Малышева 13 октября 2021

Продуктовый дайджест: бесплатное тестирование сервера с 8 GPU и услуга Disaster Recovery

В дата-центре Selectel появился суперкомпьютер с 8 мощными видеокартами, и это тот случай, когда на сервер просто хочется смотреть. Также мы получили статус DRaaS-провайдера от VMware и обновили Manag…
Ульяна Малышева 13 октября 2021
Ульяна Малышева 6 октября 2021

Популярные расширения для PostgreSQL: как установить и для чего использовать

Облачные базы данных Selectel поддерживают 40 расширений для PostgreSQL. Некоторые добавляют небольшие радости оптимизации баз данных, другие — заменяют отдельные модули разработки на стороне приложен…
Ульяна Малышева 6 октября 2021
T-Rex 29 сентября 2021

Адаптация в компании: что делать до, во время и после первого дня работы

Поздравляем, вам отправили оффер и вы его приняли. Дальше — самое интересное: новый офис, задачи, коллеги. Уверены, вам помогут стать «своим» на новом месте, но полностью переносить ответственность за…
T-Rex 29 сентября 2021
bondar 24 сентября 2021

Piller CPM300: зачем мы устанавливаем новые динамические ИБП

Бесперебойная подача электропитания в серверные — одна из обязательств провайдера дата-центра перед клиентами. Но важна не только отказоустойчивость решения, но и его эффективность с точки потребления…
bondar 24 сентября 2021