۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

Go 1.20 پیش‌نمایش بهینه‌سازی هدایت‌شده پروفایل را نشان می‌دهد

بهینه‌سازی هدایت‌شده توسط نمایه، کامپایلر Go را قادر می‌سازد تا بهینه‌سازی‌های خاص برنامه و حجم کاری را بر اساس اطلاعات نمایه زمان اجرا انجام دهد.

بهینه‌سازی هدایت‌شده توسط نمایه، کامپایلر Go را قادر می‌سازد تا بهینه‌سازی‌های خاص برنامه و حجم کاری را بر اساس اطلاعات نمایه زمان اجرا انجام دهد.

Go 1.20، ارتقاء به زبان منبع باز توسعه یافته توسط Google که به دلیل سادگی، همزمانی و ویژگی های برنامه نویسی کاربردی آن شناخته شده است، در نسخه تولیدی منتشر شد. نسخه جدید بهینه سازی هدایت شده با نمایه (PGO) را برای کامپایلر پیش نمایش می کند.

Go 1.20 که در ۱ فوریه اعلام شد را می‌توانید از go.dev دانلود کنید. با Go 1.20، پشتیبانی از پیش‌نمایش PGO، زنجیره ابزار کامپایلر را قادر می‌سازد تا بهینه‌سازی‌های خاص برنامه و حجم کار را بر اساس داده‌های نمایه زمان اجرا انجام دهد. کامپایلر در حال حاضر از پروفایل‌های CPU pprof پشتیبانی می‌کند که می‌توانند از طریق بسته‌های runtime/pprof یا net/http/pprof جمع‌آوری شوند.

که به عنوان بهینه‌سازی مبتنی بر بازخورد نیز شناخته می‌شود، PGO اطلاعات (نمایه) را از اجراهای نماینده برنامه به کامپایلر برای ساخت بعدی برنامه برمی‌گرداند، که از این اطلاعات برای اتخاذ تصمیم‌های بهینه‌سازی آگاهانه‌تر استفاده می‌کند. بنچمارک‌ها برای مجموعه‌ای از برنامه‌های Go نشان می‌دهند که فعال کردن بهینه‌سازی داخلی PGO عملکرد را حدود ۳ تا ۴ درصد بهبود می‌بخشد. بهینه سازی های PGO بیشتری برای نسخه های آینده برنامه ریزی شده است.

داکر 105 میلیون دلار بودجه جمع آوری می کند تا تمرکز خود را بر توسعه دهندگان افزایش دهد

Go 1.20 همچنین چهار تغییر را در زبان ایجاد می کند. طبق

همچنین با Go 1.20:

  • مجموعه نمایه‌های پوشش کد برای برنامه‌ها پشتیبانی می‌شود، از جمله برای برنامه‌ها و آزمایش‌های یکپارچه‌سازی، برخلاف آزمایش‌های واحد.
  • دایرکتوری $GOROOT/pkg دیگر فعالیت های بسته از پیش کامپایل شده را برای کتابخانه استاندارد ذخیره نمی کند. در عوض، بسته‌های موجود در کتابخانه در صورت نیاز ساخته می‌شوند و در کش ساخت ذخیره می‌شوند. این کار اندازه توزیع Go را کاهش می‌دهد و از انحراف زنجیره ابزار C برای بسته‌هایی که از cgo استفاده می‌کنند، جلوگیری می‌کند.
  • اجرای go test –json برای قوی‌تر شدن بهبود یافته است. برنامه هایی که go test -json را اجرا می کنند نیازی به به روز رسانی ندارند.
  • فرمان go اکنون تگ های ساخت ویژگی معماری را تعریف می کند.
  • فرمان go اکنون cgo را به‌طور پیش‌فرض در سیستم‌های بدون زنجیره ابزار C غیرفعال می‌کند.
  • فرمان go version -m اکنون از خواندن انواع بیشتری از باینری های Go پشتیبانی می کند، به ویژه DLL های Windows ساخته شده با go build- buildmode=c  shared و باینری های لینوکس بدون اجرا اجازه.
  • پشتیبانی آزمایشی برای FreeBSD در RISC-V اضافه شده است.
  • Go 1.20 آخرین نسخه ای است که macOS 10.13 High Sierra یا ۱۰.۱۴ Mojave را اجرا می کند. Go 1.21 به macOS 10.15 Catalina یا جدیدتر نیاز دارد.
اصلاح جاوا G1 کامپایل JIT را سرعت می بخشد

Go 1.19، که ژنریک و مدل حافظه را بهبود بخشید، در ۲ اوت منتشر شد.