Lowcode: Extending Pharo with C Types to Improve Performance

Ronie Salgado 1, 2 Stéphane Ducasse 2, *
* Corresponding author
2 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : The highly dynamic nature of Smalltalk provides a high degree of flexibility, but at the expense of performance. On the other hand, static system programming languages such as C are really fast, but less flexible and harder to use than Smalltalk. Our hypothesis is that by mixing the concepts of these two worlds in a single programming environment, we are able to have improved performance and a high level of flexibility at the same time. In this work we extend Pharo by adding a type system that provides the native data types present in C along with the dynamic object type. We extend Pharo compiler and virtual machine to use our type system by add custom bytecode instructions for dealing with native data. With our approach we obtain a performance improvement on average between two and five times faster for numerical computations using single precision floating point arithmetic in Smalltalk.
Document type :
Conference papers
Complete list of metadatas

Cited literature [17 references]  Display  Hide  Download

https://hal.inria.fr/hal-01353884
Contributor : Lse Lse <>
Submitted on : Monday, August 15, 2016 - 10:27:19 PM
Last modification on : Friday, March 22, 2019 - 1:35:56 AM
Long-term archiving on : Wednesday, November 16, 2016 - 10:10:17 AM

File

Salg16a-IWST16-Lowcode.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Ronie Salgado, Stéphane Ducasse. Lowcode: Extending Pharo with C Types to Improve Performance. International Workshop on Smalltalk Technologies, Aug 2016, Prague, Czech Republic. ⟨10.1145/2991041.2991064⟩. ⟨hal-01353884⟩

Share

Metrics

Record views

971

Files downloads

1169