Performance of Python runtimes on a non-numeric scientific code
Riccardo Murri

TL;DR
This study evaluates various Python runtimes' performance and compatibility using a non-numeric scientific code that involves complex graph processing, highlighting differences in optimization and execution speed.
Contribution
It provides a comparative analysis of multiple Python runtimes on a real-world non-numeric scientific application, assessing their maturity and performance.
Findings
PyPy showed significant speedup over CPython.
Cython and Numba provided moderate performance improvements.
Compatibility varied across runtimes, affecting usability.
Abstract
The Python library FatGHol FatGHoL used in Murri2012 to reckon the rational homology of the moduli space of Riemann surfaces is an example of a non-numeric scientific code: most of the processing it does is generating graphs (represented by complex Python objects) and computing their isomorphisms (a triple of Python lists; again a nested data structure). These operations are repeated many times over: for example, the spaces and are triangulated by 4'583'322 and 747'664 graphs, respectively. This is an opportunity for every Python runtime to prove its strength in optimization. The purpose of this experiment was to assess the maturity of alternative Python runtimes, in terms of: compatibility with the language as implemented in CPython 2.7, and performance speedup. This paper compares the results and experiences from running FatGHol with different Python runtimes: CPython 2.7.5, PyPy 2.1,…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Physics and Python Applications · Parallel Computing and Optimization Techniques · Scientific Computing and Data Management
