Вышил новый релиз языка программирования Go 1.15, в нём появилось достаточно много различных нововведений, которые улучшают его скорость и в целом работу.
Нововведения в Go 1.15:
- Существенно улучшена работа компоновщика, как в области повышения скорости работы и сокращения потребления памяти, так и в направлении упрощения сопровождения кода;
- В runtime значительно улучшено распределение мелких объектов на системах с большим числом ядер CPU и сокращены задержки. При сбоях обеспечен вывод значений с числовыми и строковыми типами, вместо показа адреса. При отправке Go-приложению сигналов SIGSEGV, SIGBUS и SIGFPE, в случае отсутствия обработчика os/signal.Notify, приложение будет завершено с выводом трассировки стека (ранее поведение было непредсказуемым).
- Проведена оптимизация компилятора, позволившая сократить размер генерируемых исполняемых файлов в среднем на 5% за счёт прекращения включения некоторых метаданных для сборщика мусора и более агрессивной чистке неиспользуемых метаданных.
- В компилятор и ассемблер добавлен флаг «-spectre» для включения защиты от атак класса Spectre (для большинства программ не требуется, включение опции может быть оправдано лишь для отдельных очень специфичных случаев).
- В сертификатах X.509 объявлено устаревшим поле CommonName, которое теперь не трактуется как имя хоста в случае отсутствия поля Subject Alternative Names.
- В команде «go» в переменной окружения GOPROXY теперь можно перечислять несколько прокси, разделённых запятой или символом «|». Если первый прокси в списке вернёт ошибку (404 или 410), то будет предпринята попытка обращения через второй прокси и т.д.
- В утилите vet добавлено предупреждение о попытке преобразования из string(x), если «x» является целочисленным типом, отличным от rune или byte.
- В утилиту objdump добавлен флаг «-gnu» для поддержки дизассемблирования синтаксиса GNU assembler.
- Добавлен новый пакет time/tzdata, позволяющий встроить в программу БД с данными о часовых поясах.
- Из исходных текстов и документации убраны фразы whitelist/blacklist и master/slave, вместо которых теперь используются «allowlist», «blocklist», «process», «pty», «proc» и «control».
- Внесена большая порция незначительных улучшений в стандартную библиотеку.
- Добавлена поддержка OpenBSD 6.7 в режимах GOARCH=arm и GOARCH=arm64 (ранее поддерживались только GOARCH=386 и GOARCH=amd64).
- Продолжено развитие 64-разрядной платформы RISC-V (GOOS=linux, GOARCH=riscv64).
- Для 32-разрядных систем x86 в следующем выпуске будут подняты минимальные требования к системе — продолжат поддерживаться только процессоры с SSE2. Для сборки в режиме GOARCH=386 потребуется как минимум Intel Pentium 4 (выпущен в 2000 году) или AMD Opteron/Athlon 64 (выпущен в 2003 году).
Вывод:
В этой новости вы прочитали про нововведения языка программирования Go 1.15, тут было всё самое важное что стоит знать про релиз.
Источник: OpenNet;
Подписываетесь на соц-сети:
Подписаться
0 комментариев