دیروز نسخه جدید گولنگ بعد از ۶ ماه معرفی شد. نسخه 1.26.0 هم امکانات جدیدی داره هم بهبودهای پرفورمنسی خوبی داشته.
اول از همه، زبالهروب (Garbage Collector) جدیدی که قبلتر معرفی شده بود، الان به طور پیشفرض فعاله و انتظار میره که باعث بهبود پرفورمنس در اکثر workloadها بشه، البته که اگر دوستش نداشتید میتونید با یه متغیر محیطی غیرفعالش کنید.
نکتهی جالب برای من اینه که بعد از گذشت ۱۰ سال هنوز هم یکی از ویژگیهای اساسی زبون بهبود پیدا میکنه و روی بازدهیش کار میشه.
بهبود های پرفورمنسی البته به همین خلاصه نمیشه و روی صدا زدن توابعی که با C نوشته شده (cgo) هم بهبود ۳۰ درصدی سربار رو داشتیم. اگه از کتابخونههایی که با c نوشته شدن استفاده میکنید سعی کنید آپدیت رو در اولویت قرار بدید، مثلا confluent یا gmf یا h3.
در قسمت بعد به بهبودهای سینتکسی و سمانتیکی اشاره کرد. تابع new الان نه فقط تایپ، بلکه مقدار هم میگیره و یه پوینتر به حافظهای که اون مقدار داخلشه رو برمیگردونه. اینطوری از شر تعریف کردن یه متغیر محلی و برگردوندن آدرسش راحت میشید.
در ادامه، جنریکها هم قویتر شدن و الان امکان تعریف تایپ پارامتری که به شکل بازگشتی به خودش ارجاع بده وجود داره.
یکسری بهبود tooling هم داشتیم که profiling و تشخیص go routine leak و بهبود سابکامند go fix جزوشه.
اطلاعات بیشتر در بلاگ رسمی گولنگ:
https://go.dev/doc/go1.26
Post #3246
2.45K
go.dev Go 1.26 Release Notes - The Go Programming Language
- ❤ 18
- 👍 9
- 👎 1
- 🤬 1