Performance Comparison of Python']Python Translators for a Multi-threaded CPU-Bound Application

被引:3
|
作者
Milla, Andres [1 ]
Rucci, Enzo [2 ]
机构
[1] UNLP, Fac Informat, RA-1900 La Plata, Buenos Aires, Argentina
[2] UNLP CIC, Fac Informat, III LIDI, RA-1900 La Plata, Buenos Aires, Argentina
来源
COMPUTER SCIENCE, CACIC 2021 | 2022年 / 1584卷
关键词
Numba; Cython; N-body; CPU-bound; Parallel computing;
D O I
10.1007/978-3-031-05903-2_2
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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.
引用
收藏
页码:21 / 38
页数:18
相关论文
共 50 条
  • [1] A SIMT Analyzer for Multi-Threaded CPU Applications
    Alawneh, Ahmad
    Khairy, Mahmoud
    Rogers, Timothy G.
    2022 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS 2022), 2022, : 248 - 250
  • [2] Comparison of convolutional neural network in Python']Python environment on CPU and GPU
    Sykora, Peter
    Sinko, Martin
    Vrskova, Roberta
    Kamencay, Patrik
    Hudec, Robert
    13TH INTERNATIONAL CONFERENCE ON ELEKTRO (ELEKTRO 2020), 2020,
  • [3] Making Sense of Multi-threaded Application Performance at Scale with NonSequitur
    Wong, Augustine
    Bucci, Paul
    Fedorova, Alexandra
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA2):
  • [4] pyPaSWAS: Python']Python-based multi-core CPU and GPU sequence alignment
    Warris, Sven
    Timal, N. Roshan N.
    Kempenaar, Marcel
    Poortinga, Arne M.
    van de Geest, Henri
    Varbanescu, Ana L.
    Nap, Jan-Peter
    PLOS ONE, 2018, 13 (01):
  • [5] Exploring Multi-Threaded Java']Java Application Performance on Multicore Hardware
    Sartor, Jennifer B.
    Eeckhout, Lieven
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 281 - 296
  • [6] Performance analysis of different distribution of Python']Python and TensorFlow to efficiently utilize CPU on HPC Cluster
    Gupta, Krishan Gopal
    Maity, Samrit Kumar
    Das, Abhishek
    Wandhekar, Sanjay
    INTERNATIONAL CONFERENCE ON ELECTRICAL, COMPUTER AND ENERGY TECHNOLOGIES (ICECET 2021), 2021, : 1969 - 1974
  • [7] Classifying Performance Bottlenecks in Multi-Threaded Applications
    Dutta, Sourav
    Manakkadu, Sheheeda
    Kagaris, Dimitri
    2014 IEEE 8TH INTERNATIONAL SYMPOSIUM ON EMBEDDED MULTICORE/MANYCORE SOCS (MCSOC), 2014, : 341 - 345
  • [8] Performance characterization and profiling of chained CPU-bound Virtual Network Functions
    Troia, Sebastian
    Savi, Marco
    Nava, Giulia
    Zorello, Ligia Maria Moreira
    Schneider, Thomas
    Maier, Guido
    COMPUTER NETWORKS, 2023, 231
  • [9] Multi-Scale Investigation of Surface Topography of Ball Python']Python (Python']Python regius) Shed Skin in Comparison to Human Skin
    Abdel-Aal, H. A.
    El Mansori, M.
    Mezghani, S.
    TRIBOLOGY LETTERS, 2010, 37 (03) : 517 - 527
  • [10] Multi-Scale Investigation of Surface Topography of Ball Python']Python (Python']Python regius) Shed Skin in Comparison to Human Skin
    Abdel-Aal, H. A.
    El Mansori, M.
    Mezghani, S.
    TRIBOLOGY LETTERS, 2010, 37 (01) : 99 - 99