Python 3.2 beta 1 มาแล้ว: รองรับการประมวลผลขนานแบบใหม่, ABI สำหรับส่วนขยายนิ่งแล้ว

by lew
10 December 2010 - 06:43

แม้ Python 3 จะยังไม่ได้รับความนิยมมากนัก แต่ก็ยังมีการพัฒนาต่อเนื่อง (พร้อมกับกำหนดการหยุดซัพพอร์ต Python 2.x ที่ใกล้เข้ามาเรื่อยๆ) ใน Python 3.2 beta 1 ที่น่าจะมีฟีเจอร์เท่าๆ กับตัวจริงแล้วก็มีฟีเจอร์ที่น่าสนใจเพิ่มเข้ามาสองเรื่องคือ การรับประกัน ABI และระบบประมวลผลแบบ Executor

การระบประกัน ABI จะช่วยให้ส่วนขยายของ Python ไม่ต้องคอมไพล์ใหม่ทุกครั้งที่มีรุ่นใหม่ออกมา โดยมีข้อจำกัดคือผู้พัฒนาส่วนขยายจะต้องใช้โครงสร้างข้อมูลและฟังก์ชั่นตามที่กำหนดเท่านั้น ที่แน่ๆ คือสามารถ รวมไลบรารีของ Python ได้เพียงสองไฟล์คือ Python.h และ pyconfig.h พร้อมกับต้องประกาศมาโคร Py_LIMITED_API เพื่อซ่อนฟังก์ชั่นที่ไม่รับประกันความเข้ากันได้ระหว่างรุ่นไปทั้งหมด

ส่วนที่สองคือ Executor ที่คล้ายกับ multiprocessing.Pool แต่สามารถเลือกใช้งานได้ทั้งแบบ thread เพื่อแก้ปัญหาการรอ I/O หรือการใช้ process เพื่อกระจายงานไปยังหลายซีพียู โดยโมดูลนี้เลียนแบบมาจาก java.util.concurrent.package

อีกโมดูลที่น่าสนใจคือ argparse ที่ช่วยให้เราเขียนส่วนรับอาร์กิวเมนต์ของโปรแกรมได้โดยง่ายแล้ว

ส่วนงานผมยังติดอยู่กับ Python 2.x ต่อไป

ที่มา - Python.org

Blognone Jobs Premium