โครงการ PyPy.js พอร์ต PyPy มาเป็นจาวาสคริปต์ให้รันบน asm.js ล่าสุดโครงการแถลงผลว่าสามารถรันได้เร็วกว่า CPython ในบางกรณีที่โค้ดเดิมถูกรันซ้ำๆ จำนวนรอบมากพอแล้ว
โครงการนี้ทดสอบ บนไฟร์ฟอกซ์ โดยใช้ชุดทดสอบ pystone โดยการรันรอบแรกจะได้ประสิทธิภาพไม่ถึงครึ่งของ CPython เท่านั้น (โครงการ CPython มีแนวทางรักษาความเร็วตั้งแต่การรันครั้งแรกเสมอมาตลอด) แต่หลังจากเริ่มรันไปครั้งที่สองความเร็วจะเพิ่มขึ้นเป็นเท่าตัว ทางโครงการ PyPy.js พบบั๊ก asm.js ของไฟร์ฟอกซ์และแพตซ์บั๊กนี้ด้วยตัวเอง พบว่าสามารถเร่งประสิทธิภาพได้อีกเกือบเท่าตัว นอกจากนี้ทีมงานยังทดสอบใน Chrome และพบว่าได้ประสิทธิภาพที่ดีกว่าไฟร์ฟอกซ์ที่ยังไม่ได้แก้บั๊ก แต่จะเริ่มเร็วขึ้นเมื่อรันไปแล้ว 8 รอบ
แม้ประสิทธิภาพที่ดีกว่า CPython จะดูน่าตื่นเต้น แต่ในความเป็นจริงแล้วประสิทธิภาพของ PyPy เองก็ดีกว่า CPython มาก การรัน PyPy แบบเนทีฟปกติได้ประสิทธิภาพที่ดีขึ้นไปอีกหลายเท่าตัว อย่างไรก็ดี ถ้าใครรัน CPython ทุกวันนี้ก็คาดหวังได้ว่าเราจะมี Python ที่เร็วกว่าเดิมให้ใช้บนเบราว์เซอร์แล้วครับ
ที่มา - Ryan Kelly
Comments
ประการรัน PyPy แบบเนทีฟ ?