การพัฒนาล่าสุดใน Go 1.25 และ 1.26 มุ่งเน้นการเพิ่มประสิทธิภาพด้วยการจัดสรรหน่วยความจำบน Stack แทน Heap ซึ่งช่วยลดภาระของ Garbage Collector และเพิ่มความเร็วในการทำงาน
SOFTWARE ENGINEERING
Go 1.26 เพิ่มประสิทธิภาพการจัดสรรหน่วยความจำบน Stack สำหรับ Slice
สรุปประเด็นหลัก
Go 1.25 รองรับการจัดสรร Stack สำหรับ make ที่มีขนาดเป็นตัวแปร (Variable-sized slices)
Go 1.26 พัฒนาให้การใช้ append สามารถเริ่มจัดสรรหน่วยความจำบน Stack ได้ทันที
ช่วยลดการเกิดขยะในหน่วยความจำ (Garbage) และเพิ่มประสิทธิภาพการใช้งาน CPU Cache
นวัตกรรมและเทคโนโลยี
research
Speculative Stack Allocation
ระบบจะจองพื้นที่ขนาดเล็กบน Stack โดยอัตโนมัติเพื่อใช้เป็น Backing Store สำหรับ Slice ก่อนที่จะขยายไปยัง Heap เมื่อจำเป็น
platform
Variable-sized make optimization
คอมไพเลอร์ใน Go 1.25 สามารถวิเคราะห์และจัดสรร Stack สำหรับ slice ที่ไม่ทราบขนาดล่วงหน้าได้หากมีขนาดเล็กพอ
Developer Impact
โปรแกรม Go จะทำงานได้เร็วขึ้นและประหยัดหน่วยความจำมากขึ้นโดยอัตโนมัติเมื่ออัปเกรดเวอร์ชัน โดยเฉพาะในส่วนที่มีการสร้างและจัดการ Slice ขนาดเล็กซ้ำๆ นักพัฒนาไม่จำเป็นต้องปรับแก้โค้ดที่ซับซ้อนเพื่อรีดประสิทธิภาพ
Keywords
Original Source
The Go Blog