Research
Research Interests
- Concurrency in dynamically-typed programming languages
- Optimizations for dynamically-typed languages
- Virtual Machines
Projects
- TruffleRuby, a high performance implementation of the Ruby programming language on top of Truffle and Graal.
- Mozart-Graal, an implementation of the Oz programming language on top of Truffle and Graal.
PhD Thesis
- B. Daloze.
Thread-Safe and Efficient Data Representations in Dynamically-Typed Languages.
Johannes Kepler University Linz, Austria, 2019.
Slides.
An approach to shared-memory parallelism to make objects and built-in collections of dynamically-typed languages thread-safe, efficient and scalable.
Publications
Most of these papers are also listed in the Ruby Bibliography.
- B. Daloze, A. Tal, S. Marr, H. Mössenböck, E. Petrank.
Parallelization of Dynamic Languages: Synchronizing Built-in Collections.
In Proceedings of the 2018 Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Boston, United States, November 7-9, 2018.
Supplementary Material.
A method for making built-in collections thread-safe by default with no single-threaded overhead and allowing scalability.
- K. Menard, C. Seaton, B. Daloze.
Specializing Ropes for Ruby.
In Proceedings of the 15th Conference on Managed Languages & Runtimes (ManLang), Linz, Austria, September 12-13, 2018.
Using the rope data structure for the mutable Strings of the Ruby programming language, adding encoding information and new rope operations.
- S. Marr, B. Daloze.
Few Versatile vs. Many Specialized Collections - How to design a collection library for exploratory programming?
In Proceedings of the 4th Edition of the Programming Experience Workshop (PX/18), Nice, France, April 9-12, 2018.
A study of the design of collection libraries in 14 languages and how it influences programmer productivity.
- B. Daloze, S. Marr, D. Bonetta, H. Mössenböck.
Efficient and Thread-Safe Objects for Dynamically-Typed Languages.
In Proceedings of the 2016 Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Amsterdam, Netherlands, November 2-4, 2016.
A thread-safe object model for objects to which fields can be added or removed dynamically (such as in JavaScript, Ruby, Python, etc).
- S. Marr, B. Daloze, H. Mössenböck.
Cross-Language Compiler Benchmarking - Are We Fast Yet?
In Proceedings of the 12th Dynamic Languages Symposium (DLS), Amsterdam, Netherlands, November 1, 2016.
A benchmark suite composed of 14 benchmarks, in 6 managed programming languages to compare compiler effectiveness.
- B. Daloze, C. Seaton, D. Bonetta, H. Mössenböck.
Techniques and Applications for Guest-Language Safepoints
In Proceedings of the 10th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS), Prague, Czech Republic, July 6, 2015.
A mechanism enabling powerful features like interrupting all threads to execute arbitrary code at zero cost on normal execution.
- B. Daloze.
Extending Mozart 2 to Support Multicore Processors.
Master thesis, Université Catholique de Louvain, Belgium, 2014.
Extension of the new implementation of Oz, Mozart 2, to allow multiple virtual machines to run in parallel in a single operating system process.
Related Papers Research Graph
Also see a more extensive Virtual Machine Research Graph here.
Activities
- Member of the Program Committee of ICOOOLPS 2018.
Other Activities
- Committer of CRuby (aka MRI): the reference implementation of Ruby.
- Maintainer of ruby/spec: the standard executable specification of the Ruby programming language.