Understanding and Optimizing Python-Based Applications - A Case Study on PYPY

Date

2019-11-22

Authors

Li, Yangguang

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Python is nowadays one of the most popular programming languages. It has been used extensively for rapid prototyping and developing real-world applications. Unfortunately, very few empirical studies were conducted on Python-based applications. There are various Python implementations (e.g., CPython, and PyPy). Among them, PyPy is generally the fastest due to PyPy's efficient tracing-based Just-in-Time (JIT) compiler. Understanding how PyPy has been evolved and the rationale behind its high performance would be very useful for Python application developers and researchers. In the first part of the thesis, we conducted a replication study on mining the historical code changes' of PyPy and compared our findings against Python-based applications from five other application domains. In the second part, we conducted a detailed empirical study on the performance impact of the JIT configuration settings of PyPy. The findings and the techniques in this thesis will be useful for Python application developers and researchers.

Description

Keywords

Computer engineering

Citation