آخرین به روز رسانی زبان برنامه نویسی Go همچنین یک پورت آزمایشی برای WASI، WebAssembly System Interface را معرفی می کند.
Go 1.21، آخرین به روز رسانی زبان برنامه نویسی Google Go، اکنون به عنوان نسخه تولیدی در دسترس است. نسخه جدید توابع داخلی-min
، max
و clear
را اضافه میکند و بهینهسازی هدایتشده نمایه (PGO) را به طور کلی در دسترس قرار میدهد. امکانات WebAssembly نیز برجسته شده است.
توابع min
و max
به ترتیب کوچکترین یا بزرگترین مقدار را از تعداد ثابتی آرگومان یا انواع مرتب شده محاسبه می کنند. حداقل باید یک استدلال وجود داشته باشد. تابع clear
یک آرگومان از نوع پارامتر map، slice یا type را می گیرد و همه عناصر را حذف یا صفر می کند.
منتشر شده در ۸ اوت، Go 1.21 را میتوانید از وب سایت پروژه. انتشار تولید به دنبال نامزد انتشار منتشر شده در ۲۱ ژوئن است.
بهینهسازی هدایتشده نمایه، که به عنوان پیشنمایش در Go 1.20 در فوریه معرفی شد، از وضعیت پیشنمایش در نسخه جدید فارغالتحصیل شد. PGO زنجیره ابزار کامپایلر را قادر میسازد تا بر اساس اطلاعات نمایه زمان اجرا، بهینهسازیهای مخصوص بار کاری و برنامههای کاربردی را انجام دهد. به گفته توسعه دهندگان پروژه Go، تا کنون، PGO عملکرد را بین ۲ تا ۷ درصد بهبود بخشیده است، زمانی که تأثیر آن بر مجموعه گسترده ای از برنامه ها اندازه گیری شد. کامپایلر Go با فعال بودن PGO بازسازی شده است.
Go 1.21 نوید بهبود عملکرد بیشتر را می دهد. تنظیم زباله جمعآور میتواند منجر به کاهش ۴۰ درصدی تاخیر در برخی برنامهها شود، در حالی که جمعآوری آثار با زمان اجرا/ردیابی اکنون هزینه CPU بسیار کمتری را در سیستمهای AMD64 و Arm64 متحمل میشود.
در جاهای دیگر Go 1.21:
- یک پورت آزمایشی WASI (واسط سیستم WebAssembly) در حال پیش نمایش است. برای کمک به نوشتن کدهای عمومی تر WebAssembly، کامپایلر همچنین از دستورالعمل جدید
wasmimport
برای وارد کردن توابع از میزبان Wasm پشتیبانی می کند. - کتابخانه استاندارد یک بسته log/slog جدید برای گزارش ساختار یافته اضافه می کند. یک بسته جدید برش برای عملیات رایج بر روی برش ها از هر نوع عنصر ارائه شده است. این شامل توابع مرتبسازی است که معمولاً سریعتر و ارگونومیکتر از بستهبندی مرتبسازی هستند.
- کتابخانه استاندارد همچنین یک بسته نقشه جدید را برای عملیات متداول روی نقشه ها از هر نوع کلید یا عنصر اضافه می کند. یک بسته cmp جدید شامل ابزارهای جدید برای مقایسه مقادیر سفارش شده است.
- ابزار go اکنون از سازگاری زبان عقب و جلو پشتیبانی میکند.
- بهبودهایی برای استنتاج نوع برای توابع عمومی انجام شده است. شرح استنتاج نوع در مشخصات بسط و روشن شده است.
- نسخه بعدی Go به یک “gotcha” رایج با این زبان رسیدگی می کند: گرفتن متغیر حلقه< /a>. Go 1.21 این قابلیت را پیشنمایش میکند که میتوان آن را با استفاده از یک متغیر محیطی در کد فعال کرد.
پست های مرتبط
Golang 1.21 توابع داخلی، بهینه سازی هدایت شده توسط پروفایل را به ارمغان می آورد
Golang 1.21 توابع داخلی، بهینه سازی هدایت شده توسط پروفایل را به ارمغان می آورد
Golang 1.21 توابع داخلی، بهینه سازی هدایت شده توسط پروفایل را به ارمغان می آورد