11 فبراير 2023·1 دقيقة قراءة

تقدم Go 1.20 معاينة للتحسين الموجه للملف الشخصي وتحسينات اللغة

يتضمن Go 1.20 ، آخر تحديث للغة مفتوحة المصدر التي طورتها Google ، معاينة للتحسين الموجه بالملف الشخصي (PGO) وتحسينات اللغة. يعمل PGO على تحسين الأداء بنسبة 3٪ إلى 4٪ مع التحسين المضمّن ، بينما التحسينات الأخرى قيد الإعداد. </ h2>

تقدم Go 1.20 معاينة للتحسين الموجه للملف الشخصي وتحسينات اللغة

تم تقديم Go 1.20 ، الإصدار الإنتاجي للغة مفتوحة المصدر التي أنشأتها Google والتي احتفلت ببساطتها وتزامنها وميزات البرمجة الوظيفية ، مع معاينة التحسين الموجه بالملف الشخصي (PGO) للمترجم. يمكن تنزيل Go 1.20 من موقع go.dev الرسمي.

من خلال معاينة PGO في Go 1.20 ، يمكن لسلسلة أدوات المترجم تنفيذ تحسينات خاصة بالتطبيق وحمل العمل اعتمادًا على معلومات ملف تعريف وقت التشغيل. يدعم المحول البرمجي الحالي ملفات تعريف وحدة المعالجة المركزية pprof ، والتي يمكن جمعها باستخدام حزم وقت التشغيل / pprof أو net / http / pprof.

المعروف أيضًا باسم التحسين الموجه بالردود ، يتضمن PGO تغذية بيانات الملف الشخصي من عمليات التشغيل التمثيلية للتطبيق مرة أخرى في المترجم للبناء التالي للتطبيق. باستخدام هذه المعلومات ، يمكن للمجمع اتخاذ قرارات تحسين مستنيرة. تظهر معايير مجموعة تمثيلية من برامج Go أن تمكين التحسين المضمّن PGO يعزز الأداء بحوالي 3٪ إلى 4٪. من المتوقع أن تقدم الإصدارات المستقبلية المزيد من تحسينات PGO.

إلى جانب إدخال PGO ، يجلب Go 1.20 أيضًا أربعة تغييرات في اللغة. أولاً ، القدرة على تحويل شريحة إلى مؤشر مصفوفة ، التي تم تقديمها في عام 2021 Go 1.17 ، تمتد الآن إلى التحويلات من شريحة إلى مصفوفة. ثانيًا ، تتضمن الحزمة غير الآمنة ثلاث وظائف جديدة: SliceData و String و StringData. توفر هذه الوظائف القدرة الكاملة على إنشاء وتفكيك قيم الشرائح والسلسلة ، بغض النظر عن تمثيلها الدقيق.

ثالثًا ، تحدد المواصفات الآن أن قيم البنية تتم مقارنتها بحقل واحد في كل مرة ، مع مراعاة الحقول بالترتيب الذي تظهر به في تعريف نوع البنية ، والتوقف عند عدم التطابق الأول. رابعًا ، يمكن للأنواع المماثلة مثل الواجهات العادية أن تلبي قيودًا قابلة للمقارنة ، حتى لو لم تكن وسيطات النوع قابلة للمقارنة بشكل صارم. يتيح ذلك إنشاء مثيل لمعلمة نوع مقيدة بقيود قابلة للمقارنة مع وسيطة نوع غير قابلة للمقارنة بدقة ، مثل نوع واجهة أو نوع مركب يحتوي على نوع واجهة.

بالإضافة إلى هذه التغييرات اللغوية ، يأتي Go 1.20 مع العديد من التحسينات الأخرى ، مثل دعم مجموعة ملفات تعريف تغطية الكود للبرامج ، بما في ذلك التطبيقات واختبارات التكامل. لم يعد الدليل $ GOROOT / pkg يحتفظ بأنشطة الحزم المترجمة مسبقًا للمكتبة القياسية ، مما يقلل من حجم توزيع Go ويتجنب انحراف سلسلة أدوات C لحزم cgo. علاوة على ذلك ، تم تعزيز تنفيذ go test –json لزيادة المتانة ، بينما يقرأ الأمر go version -m الآن نطاقًا أوسع من ثنائيات Go ، بما في ذلك Windows DLLs وثنائيات Linux دون إذن التنفيذ.

يوفر Go 1.20 أيضًا دعمًا تجريبيًا لـ FreeBSD على RISC-V ويعطل cgo افتراضيًا على الأنظمة التي لا تحتوي على سلسلة أدوات C. ومع ذلك ، سيكون Go 1.20 هو الإصدار الأخير الذي يدعم macOS 10.13 High Sierra و 10.14 Mojave ، حيث يتطلب Go 1.21 نظام macOS 10.15 Catalina أو أحدث.

يمكن لمنصة No-code مثل AppMaster.io أن تستفيد بشكل كبير من دمج اللغات المحسّنة حديثًا مثل Go 1.20. من خلال دمج هذه الأدوات القوية لتطبيقات الويب والجوال والخلفية ، يمكن للشركات تحقيق تحسينات كبيرة في الإنتاجية وتجربة المستخدم وقابلية التوسع. تعرف على المزيد حول تطوير التطبيقات no-code ورمز low-code للبقاء في صدارة منحنى التكنولوجيا.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started