The Impact of Dynamic Storage Allocation on CPython']Python Execution Time, Memory Footprint and Energy Consumption: An Empirical Study

被引:2
作者
Lamprakos, Christos P. [1 ,2 ]
Papadopoulos, Lazaros [1 ]
Catthoor, Francky [2 ,3 ]
Soudris, Dimitrios [1 ]
机构
[1] Natl Tech Univ Athens, Iroon Polytech St 9, Zografos 15780, Greece
[2] Katholieke Univ Leuven, Oude Markt 13, B-3000 Leuven, Belgium
[3] IMEC, Sci Pk,Gaston Geenslaan 14, B-3001 Leuven, Belgium
来源
EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION, SAMOS 2022 | 2022年 / 13511卷
关键词
C[!text type='Python']Python[!/text; Dynamic storage allocation; Embedded systems; Energy efficiency; Benchmarking studies;
D O I
10.1007/978-3-031-15074-6_14
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
CPython is the reference implementation of the Python programming language. Tools like machine learning frameworks, web development interfaces and scientific computing libraries have been built on top of it. Meanwhile, single-board computers are now able to run GNU/Linux distributions. As a result CPython's influence today is not limited to commodity servers, but also includes edge and mobile devices. We should thus be concerned with the performance of CPython applications. In this spirit, we investigate the impact of dynamic storage allocation on the execution time, memory footprint and energy consumption of CPython programs. Our findings show that (i) CPython's default configuration is optimized for memory footprint, (ii) replacing this configuration can improve performance by more than 1.6x and (iii) application-specific characteristics define which allocator setup performs best at each case. Additionally, we contribute an open-source means for benchmarking the energy consumption of CPython applications. By employing a rigorous and reliable statistical analysis technique, we provide strong indicators that most of our conclusions are platform-independent.
引用
收藏
页码:219 / 234
页数:16
相关论文
共 23 条
[1]  
[Anonymous], 2021, CPYTHON REPOSITORY
[2]  
[Anonymous], 2020, STACK OVERFLOW DEV S
[3]  
[Anonymous], 2022, EMBEDDED PYTHON
[4]  
Berger ED, 2000, ACM SIGPLAN NOTICES, V35, P117, DOI 10.1145/384264.379232
[5]   The PARSEC Benchmark Suite: Characterization and Architectural Implications [J].
Bienia, Christian ;
Kumar, Sanjeev ;
Singh, Jaswinder Pal ;
Li, Kai .
PACT'08: PROCEEDINGS OF THE SEVENTEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2008, :72-81
[6]  
Cerfeda L.F, 2021, RISE PYTHON EMBEDDED
[7]   Statistical Performance Comparisons of Computers [J].
Chen, Tianshi ;
Guo, Qi ;
Temam, Olivier ;
Wu, Yue ;
Bao, Yungang ;
Xu, Zhiwei ;
Chen, Yunji .
IEEE TRANSACTIONS ON COMPUTERS, 2015, 64 (05) :1442-1455
[8]  
David Howard, 2010, Proceedings of the 16th ACM/IEEE International Symposium on Low Power Electronics and Design (ISLPED 2010), P189, DOI 10.1145/1840845.1840883
[9]  
Evans Jason., 2006, SCALABLE CONCURRENT
[10]  
Hahnel Marcus, 2012, Performance Evaluation Review, V40, P13