Выпуск Go 1.25 с экспериментальным сборщиком мусора и новым JSON API
Go 1.25 расправляется с основными улучшениями инструментария и времени выполнения, включая экспериментальную сборку мусора, encoding/json v2 и новую поддержку тестирования/synctest.
Команда Go объявила о официальном выпуске языка программирования Go 1.25, который вышел точно по графику через шесть месяцев после версии 1.24 и содержит множество изменений, затрагивающих почти каждый уголок инструментального набора, среды выполнения и стандартной библиотеки.
Одним из самых впечатляющих нововведений является новый экспериментальный сборщик мусора, предназначенный для улучшения производительности при обработке небольших объектов, что может сократить накладные расходы на сбор мусора на 10–40% в реальных рабочих нагрузках.
Рядом с этим появляется еще одна экспериментальная функция — пакет encoding/json/v2, обещающий более быструю декодировку и более гибкую конфигурацию. Оба пока являются опциональными, что дает разработчикам возможность попробовать их на раннем этапе и предоставить обратную связь перед окончательной доработкой.
Go 1.25 также приносит контейнер-осведомленный GOMAXPROCS по умолчанию, что означает, что приложения, работающие в таких средах, как Kubernetes, могут автоматически настраиваться под лимиты CPU без ручных изменений. Кроме того, компилятор становится умнее с более быстрыми выделениями срезов и отладочной информацией DWARF5, что уменьшает размер бинарных файлов и ускоряет линковку для крупных проектов.
Инструменты также получили свою долю любви, с новыми анализаторами go vet, которые выявляют распространенные ошибки, и несколькими улучшениями команды go, такими как возможность игнорирования директорий в go.mod или развертывания локального сервера документации с помощью go doc -http. Также появился совершенно новый пакет testing/synctest, упрощающий тестирование конкурентного кода без обычных головных болей.
Наконец, как всегда, имеется длинный список улучшений стандартной библиотеки — от повышения производительности криптографии до более согласованного разбора ASN.1, а также новых функций сетевого взаимодействия и TLS. Поддержка старых версий macOS прекращается, и Go 1.25 становится последней версией для сломанного порта 32-битной версии Windows/ARM перед его удалением.
Смотрите объявление или проверьте примечания к релизу для подробного ознакомления со всеми изменениями.


Добавить комментарий