گو پروگرامنگ ٻولي جو رليز 1.15

پاران پيش ڪيل پروگرامنگ ٻولي ڇڏڻ 1.15 وڃو، جيڪو گوگل پاران ڪميونٽي جي شموليت سان هڪ هائبرڊ حل جي طور تي ترقي ڪري رهيو آهي جيڪو مرتب ڪيل ٻولين جي اعليٰ ڪارڪردگيءَ کي اسڪرپٽنگ ٻولين جي فائدن سان گڏ ڪري ٿو جهڙوڪ لکڻ ۾ آساني، ترقي جي رفتار ۽ غلطي کان بچاءُ. پروجيڪٽ ڪوڊ طرفان ورهايل BSD لائسنس جي تحت.

گو جو نحو 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

تبصرو شامل ڪريو