Современный программистский ландшафт стал свидетелем появления Golang 1.21 - нового обновления языка программирования Go от Google. Эта версия, дополненная новыми встроенными функциями и общедоступной оптимизацией по профилю (PGO), призвана переосмыслить опыт программирования. Кроме того, в ней заметно улучшена совместимость с WebAssembly.
В этой версии появились встроенные функции min, max и clear. Функции min и max предназначены для вычисления наименьшего или наибольшего значения упорядоченных типов или заданного количества аргументов. Для работы обеих функций требуется как минимум один аргумент. С другой стороны, функция clear нацелена на тип map, slice или параметр type и удаляет или обнуляет все элементы в аргументе.
С момента официального релиза, состоявшегося 8 августа, Golang 1.21 доступен для загрузки с сайта проекта. Этот релиз выпущен вслед за предыдущим релиз-кандидатом, опубликованным 21 июня.
PGO, который был представлен в качестве предварительной версии в Golang 1.20 еще в феврале, в последней версии достиг значительных успехов. Теперь он доступен в общем релизе и позволяет инструментарию компилятора производить оптимизацию под конкретные нагрузки и приложения на основе информации о профиле времени выполнения. По заявлениям разработчиков проекта Go, с помощью PGO удалось повысить производительность различных программ на 2%-7%. Компилятор Go был обновлен с учетом функциональности PGO.
Помимо развития компилятора Go и PGO, в Golang 1.21 реализовано дополнительное повышение производительности. Упор на оптимизацию сборщика мусора может дать снижение задержки хвоста до 40% для некоторых приложений. Одновременно с этим процесс сбора трасс с помощью runtime/trace требует значительно меньших затрат процессора на системах AMD64 и Arm64.
Для разработчиков, желающих реализовать эти возможности в своих внутренних приложениях, AppMaster является отличной отправной точкой. Являясь мощным инструментом no-code, AppMaster позволяет клиентам визуально проектировать модели данных, создавать бизнес-логику и конечные точки REST API и WSS. Использование его мощных возможностей, несомненно, повышает удобство разработки и оптимизирует производительность при использовании функций Golang 1.21.