1 คะแนน โดย GN⁺ 2023-07-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • CPython กำลังมุ่งไปสู่การทำให้ Global Interpreter Lock(GIL) เป็นตัวเลือก จึงมีสัญญาณว่าจะเกิดการเปลี่ยนแปลงครั้งใหญ่ในโมเดลการรันแบบขนานของ Python
  • Python Steering Council ระบุว่ามีเจตนาจะรับ PEP 703 และการรองรับระยะแรกอาจถูกรวมเข้าไปใน Python 3.13
  • ประเด็นสำคัญอยู่ที่ว่า no-GIL build และ with-GIL build เดิมจะสามารถรองรับการเปลี่ยนแปลงโค้ดของเธิร์ดปาร์ตี้ร่วมกันได้หรือไม่
  • Steering Council พยายามหลีกเลี่ยง “สถานการณ์แบบ Python 3 อีกครั้ง” และกำลังพิจารณาข้อกำหนดด้านความเข้ากันได้ย้อนหลังและ ABI compatibility อย่างรอบคอบ
  • การนำ no-GIL มาใช้ไม่ใช่การเปลี่ยนผ่านไป Python 4 ดังนั้นปัญหาความเข้ากันได้กับ Python เวอร์ชันเก่าต้องแก้ไขแยกต่างหาก

เจตนาที่จะรับ PEP 703

  • Python Steering Council ระบุว่ามีเจตนาจะรับ PEP 703: Making the Global Interpreter Lock Optional in CPython
  • PEP 703 เป็นข้อเสนอให้ทำให้ Global Interpreter Lock เป็นตัวเลือกใน CPython
  • การรองรับระยะแรกอาจถูกรวมอยู่ในรีลีส Python 3.13

ประเด็นด้านความเข้ากันได้และการไมเกรต

  • Steering Council ต้องการจัดการ ความเข้ากันได้ย้อนหลัง ในการเปลี่ยนผ่านสู่ no-GIL อย่างระมัดระวังมาก
  • การเปลี่ยนแปลงโค้ดของเธิร์ดปาร์ตี้ที่จำเป็นเพื่อให้เข้ากับ no-GIL build ต้องทำงานได้เหมือนเดิมบน with-GIL build ด้วย
    • อย่างไรก็ตาม ความเข้ากันได้ย้อนหลังกับ Python เวอร์ชันที่เก่ากว่านั้นต้องแก้ไขแยกต่างหาก
  • มีการย้ำว่าการเปลี่ยนแปลงครั้งนี้ ไม่ใช่ Python 4
  • ข้อกำหนดด้าน ABI compatibility ระหว่างทั้งสอง build และผลกระทบต่อความเข้ากันได้ย้อนหลังยังอยู่ระหว่างการพิจารณา

1 ความคิดเห็น

 
GN⁺ 2023-07-30
ความคิดเห็นบน Hacker News
  • ความคิดเห็นถูกย้ายไปยังโพสต์ต้นฉบับที่ถูกโพสต์ก่อนหน้า คือ https://news.ycombinator.com/item?id=36913328 และโพสต์นี้ก็ชี้ไปที่หน้านั้นเช่นกัน