ការចេញផ្សាយភាសាកម្មវិធី Go 1.15

ណែនាំ ការចេញផ្សាយភាសាសរសេរកម្មវិធី ទៅ 1.15 ។ដែលត្រូវបានបង្កើតឡើងដោយ Google ដោយមានការចូលរួមពីសហគមន៍ជាដំណោះស្រាយកូនកាត់ដែលរួមបញ្ចូលគ្នានូវដំណើរការខ្ពស់នៃភាសាដែលបានចងក្រងជាមួយនឹងគុណសម្បត្តិនៃភាសាស្គ្រីបដូចជាភាពងាយស្រួលនៃការសរសេរកូដ ល្បឿននៃការអភិវឌ្ឍន៍ និងការការពារកំហុស។ កូដគម្រោង ចែកចាយ​ដោយ ក្រោមអាជ្ញាប័ណ្ណ BSD ។

វាក្យសម្ព័ន្ធរបស់ Go គឺផ្អែកលើធាតុដែលធ្លាប់ស្គាល់នៃភាសា C ជាមួយនឹងការខ្ចីមួយចំនួនពីភាសា Python ។ ភាសាគឺមានលក្ខណៈសង្ខេប ប៉ុន្តែកូដគឺងាយស្រួលអាន និងយល់។ កូដ Go ត្រូវបានចងក្រងជាប្រព័ន្ធដំណើរការប្រព័ន្ធគោលពីរដាច់ដោយឡែកដែលដំណើរការពីដើមដោយមិនប្រើម៉ាស៊ីននិម្មិត (ទម្រង់ ការបំបាត់កំហុស និងប្រព័ន្ធរងស្វែងរកបញ្ហាពេលដំណើរការផ្សេងទៀតត្រូវបានរួមបញ្ចូលជា សមាសធាតុពេលដំណើរការ) ដែលអនុញ្ញាតឱ្យអ្នកសម្រេចបាននូវការអនុវត្តប្រៀបធៀបទៅនឹងកម្មវិធី C ។

គម្រោងនេះត្រូវបានបង្កើតឡើងដំបូងដោយសម្លឹងមើលការសរសេរកម្មវិធីពហុខ្សែ និងប្រតិបត្តិការប្រកបដោយប្រសិទ្ធភាពលើប្រព័ន្ធពហុស្នូល រួមទាំងការផ្តល់មធ្យោបាយកម្រិតប្រតិបត្តិករសម្រាប់រៀបចំការគណនាប៉ារ៉ាឡែល និងអន្តរកម្មរវាងវិធីសាស្ត្រប្រតិបត្តិប៉ារ៉ាឡែល។ ភាសានេះក៏ផ្តល់នូវការការពារដែលភ្ជាប់មកជាមួយប្រឆាំងនឹងប្លុកអង្គចងចាំដែលបែងចែកលើស និងផ្តល់លទ្ធភាពប្រើប្រាស់ឧបករណ៍ប្រមូលសំរាម។

សំខាន់ ការច្នៃប្រឌិតបានណែនាំនៅក្នុងការចេញផ្សាយ Go 1.15៖

  • Существенно улучшена работа компоновщика, как в области повышения скорости работы и сокращения потребления памяти, так и в направлении упрощения сопровождения кода. При тестировании в операционных системах, использующих формат исполняемых файлов ELF (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), компоновка типового набора крупных Go-приложений стала выполняться на 20% быстрее, а потребление памяти в среднем уменьшилось на 30%. Повышение производительности стало возможным благодаря переходу на новый формат объектных файлов и переработке внутренних стадий для повышения уровня распараллеливания работ. Собственный компоновщик теперь используется по умолчанию на системах linux/amd64 и linux/arm64 в режиме «-buildmode=pie», в котором теперь не требуется применения Си-компоновщика.
  • В 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 году).

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់