แผนการปลด GIL ออกจาก Python เพื่อให้รันแบบ multithread ได้เต็มทุกคอร์ในซีพียูกำลังเดินหน้าหลังจากโค้ดเข้าโครงการ Python ไปเมื่อเดือนมีนาคมที่ผ่านมา ตอนนี้ทีมงานจาก Quansight Labs ก็ออกมาปล่อยไบนารีของ Python เวอร์ชั่น Free Threading ที่ใช้ซีพียูได้เต็มทุกคอร์นี้แล้ว
โค้ด Python ที่ปลด GIL จะต้องคอมไพล์ด้วยออปชั่น --disable-gil
เท่านั้นจึงใช้งานฟีเจอร์นี้ได้ โครงการ Free Threading จะเปิดใช้งานฟีเจอร์นี้เสมอไม่ว่าโครงการ Python หลักจะตัดสินใจเปิดฟีเจอร์นี้ใน Python 3.13 หรือไม่
คาดว่าการปลด GIL จะใช้เวลาทดสอบอีกหลายปีกว่าโมดูลต่างๆ จะพอร์ตมารองรับครบถ้วนจนถอดโค้ด GIL ออกไปได้จริงๆ ทาง Quansight ทดสอบกับโมดูลใหญ่ๆ เช่น numpy หรือ pywavelets ก็พบปัญหาระหว่างการทดสอบ นอกจากนี้บังมีรายงานปัญหาจากโมดูล scipy, Pillow อีกด้วย
การดาวน์โหลดมาทดสอบแยกตามแพลตฟอร์ม ทั้ง Windows, macOS, และลินุกซ์ดิสโทรต่างๆ
ที่มา - Quansight
Comments
จะแก่แล้ว
Blognone = 138.1 news/w เยอะมากๆ
กว่าจะใช้เป็น default น่าจะอีก 5 ปี
lewcpe.com, @wasonliw
นอกจากนี้บังมี => นอกจากนี้ยังมี
Python จบ statement ด้วย semicolon ได้ด้วยเหรอ?
Simple Statements
ได้ เป็นตัวไว้แบ่งคำสั่งมากกว่าหนึ่งในบรรทัดเดียว แต่ไม่แนะนำให้ทำเพราะทำให้โค้ดอ่านยาก
โอ้ ผมเพิ่งจะเคยเห็นนี่แหละ
..: เรื่อยไป