Язык 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, который дает возможность встроить в программу БД с информацией о часовых поясах.
  • В стандартной библиотеке появилось много разных улучшений.

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

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

Ульяна Малышева 11 марта 2021

Кейс VCV: как победить HR-рутину

Сервис VCV, клиент Selectel, был создан для того, чтобы сделать найм сотрудников комфортнее, объективнее, быстрее. Как работает VCV, зачем сервису искусственный интеллект и в чем разница российского и…
Ульяна Малышева 11 марта 2021
Владимир Туров 1 сентября 2020

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

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

Новое в блоге

Ульяна Малышева 22 июля 2021

DCIM-платформа Racks: почему мы отказались от энтерпрайз-решения в пользу самописного приложения

Как вести учет и контроль оборудования, если у тебя более десятка серверных в трех географически разделенных дата-центрах? Как и многие крупные провайдеры, в России и за рубежом, Selectel начал реализ…
Ульяна Малышева 22 июля 2021
Ульяна Малышева 7 июля 2021

Продуктовый дайджест: новые процессоры AMD EPYC™ и управление базами данных через Terraform

Пополнение линейки процессоров AMD EPYC™, управление кластерами «Облачных баз данных» через Terraform-провайдер Selectel и подбор идеальной инфраструктуры под «Битрикс24» и «1С-Битрикс». Подробнее — о…
Ульяна Малышева 7 июля 2021
Эллада Нуралиева 22 июня 2021

Next-Generation Firewall от FortiGate: обзор функций и подключение сервиса

Для защиты инфраструктуры от угроз часто используют межсетевые экраны. Они могут быть как программными, так и аппаратными. Типичный межсетевой экран представляет собой фильтр сетевого трафика, который…
Эллада Нуралиева 22 июня 2021
Ульяна Малышева 18 июня 2021

Selectel развернул 100 виртуальных машин для олимпиады «Я — профессионал»

Завершился четвертый сезон олимпиады «Я — профессионал», на который зарегистрировались 576 012 студентов из 348 вузов России. Selectel стал одним из партнеров трека олимпиады «Робототехника», который …
Ульяна Малышева 18 июня 2021