Much of work revolves around making interpreters faster, detecting and| stefan-marr.de
Making programs slower can be useful to find...| stefan-marr.de
Computing at Kent and PLAS: Thanks for everything, and see you soon!| stefan-marr.de
Last year, we looked at how well sampling profilers work on top of the JVM. Unfortunately, they suffer from issues such as safepoint bias and may not correctly attribute observed run time to the correct methods because of the complexities introduced by inlining and other compiler optimizations.| Stefan-Marr.de
A comparative study of abstract-syntax-tree and bytecode interpreters on top of meta-compilation systems.| stefan-marr.de
Bar charts oversimplify and should be avoided: Box Plots, Or Better!| stefan-marr.de
Using VTune to measure where Truffle-based bytecode interpreters spend their time.| stefan-marr.de
Estimating the performance of programming language implementations.| stefan-marr.de
A look into the implementation details of CPython's Global Interpreter Lock (GIL) and how they changed between Python 3.9 and the current development branch that will become Python 3.13.| stefan-marr.de
A brief overview of our study of abstract-syntax-tree and bytecode interpreters on top of RPython and the GraalVM metacompilation systems.| stefan-marr.de
Sampling profilers can go surprisingly wrong on simple programs. Here a brief overview, and all details in our paper!| stefan-marr.de
Lectures on programming language interpreters and just-in-time compilation| stefan-marr.de
Does order of bytecode handlers matter for performance? Sometimes it can. Here a brief overview, and all details in our paper!| stefan-marr.de
A look at inline caches, eliminating target duplication, and splitting in Rails apps. More details in our paper!| stefan-marr.de