Twopy: A Just-In-Time Compiler For Python Based On Code Specialization
Python is a multiple paradigm language. The language is dynamically typed, offers object-oriented, procedural and functional features. It is often used for scripting but is also widely used for general purpose programming. The Python language is designed to be easy to use with permissive features, even if it means compromising performance. For example it is possible to add a new property to an object after its creation. Many other dynamic features are available and represent a challenge to implement efficiently.
Our preliminary results show that our compiler can remove around 80% of type-checks on small benchmarks containing mainly binary operations. In the future we plan to extend basic block versioning to handle different issues with Python implementation. For example we want to explore using this technique as an optimization to object-oriented mechanism implementation in Python. We think that this technique can be used in multiple and new ways to handle dynamicity in Python.
Sun 4 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
15:30 - 17:05
|Building JIT Compilers For Dynamic Languages With Low Development Effort
|Twopy: A Just-In-Time Compiler For Python Based On Code Specialization
|Towards Compilation of an Imperative Language for FPGAs
Baptiste Pauget École Normale Supérieure, David J. Pearce Victoria University of Wellington, Alex Potanin Victoria University of WellingtonDOI Pre-print File Attached
|Two Decades of Smalltalk VM Development
Eliot Miranda Cadence Design Systems, Clément Béra Sofware Languages Lab, Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Dan IngallsDOI