TL;DR
This paper compares the performance of different Python translators for CPU-bound, multi-threaded applications, highlighting the strengths and weaknesses of each in the context of high-demand computational tasks.
Contribution
It provides the first comprehensive performance comparison of various Python translators using a standard computational benchmark, guiding developers in choosing suitable tools.
Findings
CPython and PyPy perform poorly in parallel CPU-bound tasks.
Numba and Cython significantly improve performance for numerical algorithms.
The study offers insights into the cost-performance trade-offs of Python translators.
Abstract
Currently, Python is one of the most widely used languages in various application areas. However, it has limitations when it comes to optimizing and parallelizing applications due to the nature of its official CPython interpreter, especially for CPU-bound applications. To solve this problem, several alternative translators have emerged, each with a different approach and its own cost-performance ratio. Due to the absence of comparative studies, we have carried out a performance comparison of these translators using N-Body as a case study (a well-known problem with high computational demand). The results obtained show that CPython and PyPy presented poor performance due to their limitations when it comes to parallelizing algorithms; while Numba and Cython achieved significantly higher performance, proving to be viable options to speed up numerical algorithms.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
