27 สิงหาคม 2564

Published สิงหาคม 27, 2564 by with 0 comment

Pyston อีมพลีเมนต์ไพธอนที่เร็วกว่า CPython

Pyston เป็นอีมพลีเมนต์ภาษาไพธอนที่มุ่งเน้นด้านประสิทธิภาพและสามารถใช้งานร่วมกันกับ CPython ได้[1]

เริ่มแรกตัว Pyston ถูกพัฒนาโดย Dropbox เมื่อปี ค.ศ.2014[1] แต่ยุติการพัฒนาในปี ค.ศ.2017[2] และต่อมาทางทีมงานได้นำมาพัฒนาต่อตั้งแต่ปี 2020[3]

ปัจจุบัน Pyston ถูกพัฒนาโดยอิง CPython 3.8.8 และรองรับการใช้งานบนลินุกซ์ X86-64 มีประสิทธิภาพมากกว่า CPython 30% ใน web server benchmarks โดยใช้หลักการคอมไพล์โค้ดด้วยเทคนิค JIT และสามารถใช้งานกับโมดูลที่ต้องคอมไพล์กับภาษา C อย่าง Numpy และอื่น ๆ ได้[4]

การใช้งาน Pyston

หลังจากการได้รู้จัก Pyston แล้ว ต่อไปเรามาลองใช้งาน Pyston กัน 

หน้า Pyston 2.3

ผมได้ใช้ Ubuntu 20.04 โดยเลือก Pyston 2.3 จาก https://github.com/pyston/pyston/releases แล้วโหลดไฟล์ .deb ให้ตรงกับรุ่น Ubuntu ที่ใช้งาน

$ wget https://github.com/pyston/pyston/releases/download/v2.3/pyston_2.3_20.04.deb

$ sudo dpkg -i pyston_2.3_20.04.deb

จากนั้น ลองเรียกใช้ด้วยคำสั่ง pyston กันได้เลย

$ pyston
Python 3.8.8 (heads/2.3_release:4b9a88fc50, Jul  8 2021, 15:46:12)
[Pyston 2.3.0, GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

หากต้องการติดตั้งโมดูลจาก PyPI ให้ใช้คำสั่ง

$ pyston -m pip install __โมดูลที่ต้องการ_

ได้เลย

คำแนะนำ

แม้ว่า Pyston จะเข้ากันได้กับ CPython โดยสามารถใช้งานโมดูลที่คอมไพล์กับภาษาอื่น ๆ ได้ เช่น NumPy หรือ Pytorch เป็นต้น แต่อาจจะต้องคอมไพล์ใหม่ในการติดตั้ง ขอแนะนำให้ท่านที่ต้องการใช้งานให้ตั้งค่าคอมไพลเลอร์ให้เรียบร้อยก่อนใช้งาน


ดูรายละเอียดเพิ่มเติม Pyston ได้ที่ https://github.com/pyston/pyston

อ้างอิง

[1] Dropbox เปิดตัว Pyston, ไพธอนที่คอมไพล์ด้วย LLVM: https://www.blognone.com/node/55056

[2] Dropbox pulls the plug on faster Python project: https://www.infoworld.com/article/3162800/dropbox-pulls-the-plug-on-faster-python-project.html

[3] Pyston โครงการภาษาไพธอนประสิทธิภาพสูง เปิดเป็นโอเพนซอร์สแล้ว: https://www.blognone.com/node/122539

[4] Pyston v2.2: faster and open source: https://blog.pyston.org/2021/05/05/pyston-v2-2-faster-and-open-source/


0 ความคิดเห็น:

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

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