เมื่อต้นเดือนมิถุนายนที่ผ่านมา ทาง Pyston ได้ออกชุดคำสั่งชื่อ Pyston-lite ซึ่งเป็นส่วนขยายเสริมให้ Python ทำงานผ่าน JIT ได้ โดยส่วนขยายนี้จะทำให้่ Python ปกติสามารถทำงานได้เร็วขึ้นถึง 10-25% โดยที่ไม่ต้องปรับแต่งโค้ดอะไรเลย (ขึ้นอยู่กับประเภทของงาน) และแถมทำงานบน Mac M1 ได้อีกด้วย แต่การปรับแต่งจะไม่ครบถ้วนเท่ากับ Pyston ตัวเต็ม
สำหรับเบื้องหลังการทำงาน ทาง Pyston ได้เขียนอธิบายว่า ได้ใช้ PEP 523 extension module ในการเขียนส่วนขยายสำหรับทำให้ CPython สามารถใช้งาน JIT ของ Pyston ได้ ก่อนหน้านี้ทางทีม Pyston ได้พัฒนา Pyston V2 เป็นส่วนขยาย แต่ต่อมาพบว่าการ fork CPython ไปพัฒนาต่อ จะปรับปรุงประสิทธิภาพได้ดีกว่า แต่การเปลี่ยนผ่านสำหรับผู้ใช้งานนั้นไม่ง่าย ทาง Pyston เลยทำให้กลายเป็นส่วนขยายอีกครั้งในชื่อ Pyston-lite
เรามาลองใช้งาน Pyston-lite กัน!!!
ก่อนอื่น การใช้งาน Pyston-lite ในตอนนี้รองรับเฉพาะ Python 3.8 กับระบบปฏิบัติการ macOS/Linux เท่านั้น (X86 กับ arm) ติดตั้งผ่าน pip ด้วยคำสั่ง
pip install pyston_lite_autoload
หรือ
conda install pyston_lite_autoload -c pyston -c conda-forge
โดยทาง pyston_lite_autoload จะโหลด Pyston-lite มาใช้งานกับโค้ดที่ต้องเร่งความเร็วให้เอง แต่ถ้าเราต้องการให้มันทำงานตามที่เรากำหนด ให้ใส่
เข้าไปในโค้ดที่เราต้องการให้เร่งความเร็วได้เลย แต่อย่าลืมว่าขึ้นอยู่กับงาน บางงานที่ Pyston-lite สามารถเร่งความเร็วได้
ผลลัพธ์จากการทดสอบ EC2 instances, either c6i.2xlarge or c6g.2xlarge, Ubuntu 20.04 AMI จากทาง Pyston
pyperformance x86 | ARM | Pyston macrobenchmarks x86 | ARM | |
Pyston 2.3.4 | +66% | +54% | +35% | +25% |
Pyston-lite 2.3.4 | +28% | +25% | +8% | +8% |
Pyston-lite 2.3.4 Mac | +27% | +39% | +8% | +5% |
CPython 3.11.0b3 | +15% | +10% | +8% | +5% |
อ่านรายละเอียดเพิ่มเติมได้ที่ https://blog.pyston.org/2022/06/08/announcing-pyston-lite-our-python-jit-as-an-extension-module/
อ่านบทความ Pyston อีมพลีเมนต์ไพธอนที่เร็วกว่า CPython
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)