1 กรกฎาคม 2565

Published กรกฎาคม 01, 2565 by with 0 comment

ปรับจูน Python ให้แรงขึ้นง่าย ๆ ด้วย Pyston-lite

เมื่อต้นเดือนมิถุนายนที่ผ่านมา ทาง 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 มาใช้งานกับโค้ดที่ต้องเร่งความเร็วให้เอง แต่ถ้าเราต้องการให้มันทำงานตามที่เรากำหนด ให้ใส่

import pyston_lite
pyston_lite.enable() 

เข้าไปในโค้ดที่เราต้องการให้เร่งความเร็วได้เลย แต่อย่าลืมว่าขึ้นอยู่กับงาน บางงานที่ Pyston-lite สามารถเร่งความเร็วได้

 

ผลลัพธ์จากการทดสอบ EC2 instances, either c6i.2xlarge or c6g.2xlarge, Ubuntu 20.04 AMI จากทาง Pyston


pyperformance x86ARMPyston macrobenchmarks x86ARM
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 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)