UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Py2Cy: A Genetic Improvement Tool To Speed Up Python

Zhong, James; Hort, Max; Sarro, Federica; (2022) Py2Cy: A Genetic Improvement Tool To Speed Up Python. In: (Proceedings) The 11th International Workshop on Genetic Improvement @GECCO 2022. Association for Computing Machinery: Boston, MA, USA. (In press). Green open access

[thumbnail of Zhong_2022_GI.pdf]
Preview
Text
Zhong_2022_GI.pdf - Accepted Version

Download (527kB) | Preview

Abstract

Due to its ease of use and wide range of custom libraries, Python has quickly gained popularity and is used by a wide range of developers all over the world. While Python allows for fast writing of source code, the resulting programs are slow to execute when compared to programs written in other programming languages like C. One of the reasons for its slow execution time is the dynamic typing of variables. Cython is an extension to Python, which can achieve execution speed-ups by compiler optimization. One possibility for improvements is the use of static typing, which can be added to Python scripts by developers. To alleviate the need for manual effort, we create Py2Cy, a Genetic Improvement tool for automatically converting Python scripts to statically typed Cython scripts. To show the feasibility of improving runtime with Py2Cy, we optimize a Python script for generating Fibonacci numbers. The results show that Py2Cy is able to speed up the execution time by up to a factor of 18.

Type: Proceedings paper
Title: Py2Cy: A Genetic Improvement Tool To Speed Up Python
Event: The 11th International Workshop on Genetic Improvement @GECCO 2022
Open access status: An open access version is available from UCL Discovery
DOI: 10.1145/3520304.3534037
Publisher version: https://doi.org/10.1145/3520304.3534037
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: Genetic Improvement, Python, Performance, Execution Time
UCL classification: UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL
URI: https://discovery.ucl.ac.uk/id/eprint/10149528
Downloads since deposit
47Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item