Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2312

S

Stefan-Marr.de

Personal blog · stefan-marr.de · on HN as smarrprogrammingscience

Stefan-Marr.de is a personal blog at stefan-marr.de about programming and science. Since 2014, 35 different Hacker News readers have linked it 97 times, most often “Tracing vs. Partial Evaluation: Comparing Meta-Compilation for Interpreters”. It is still writing: the last post was on 2026-08-20, and you can follow it by feed.

Visit the blog
97mentions?
35HN people?
2014–2026first – last linked?
Links on Hacker News per year · peak 16 in 2023

The author on HN?

smarr · 234 karma · member since 2014

https://stefan-marr.de/

From their public HN profile, which links to this site.

Most-linked posts?

  1. Tracing vs. Partial Evaluation: Comparing Meta-Compilation for Interpreters
    5 people · 5 mentions · first linked 2015-08-18
  2. AST vs. Bytecode: Interpreters in the Age of Meta-Compilation [pdf]
    4 people · 5 mentions · first linked 2023-08-14
  3. Tracing vs. Partial Evaluation
    3 people · 3 mentions · first linked 2019-05-11
  4. /papers/dls-marr-et-al-cross-language-compiler-benchmarking-are-we-fast-yet/
    2 people · 4 mentions · first linked 2020-12-21
  5. Box plots are the better default choice for visualizing performance
    2 people · 3 mentions · first linked 2024-06-18
  6. The Cost of Safety in Java
    2 people · 2 mentions · first linked 2022-10-10
  7. Project Renaissance: Avoid the Concurrency Trap by Embracing Non-Determinism
    2 people · 2 mentions · first linked 2015-02-10
  8. Writing Papers with Completely Automated Data Processing
    2 people · 2 mentions · first linked 2016-06-28
  9. Squeezing a Little More Performance Out of Bytecode Interpreters
    2 people · 2 mentions · first linked 2023-06-06
  10. Don't Blindly Trust Your Java Profiler
    2 people · 2 mentions · first linked 2023-09-20

What Hacker News says?

  1. > The Are-we-fast-yet suite is optimized for inter-language comparisons and sets the focus on ideomatic language use and representative algorithms. There is a peer-reviewed scientific publication; here is a preprint: https://stefan-marr.de/papers/dls-marr-et-al-cross-language- ... Benoit (eregon) is the second author of that paper.

    Comment linking /papers/dls-marr-et-al-cross-language-

    on “Ruby 3.0”
  2. Submitted How to slow down a program and why it can be useful as a story · 157 points

    HN discussion
  3. > OptCarrot is probably one of the rare cases where Ruby 3.0+JIT is 3x Ruby 2.0 The Are-we-fast-yet suite is optimized for inter-language comparisons and sets the focus on ideomatic language use and representative algorithms. There is a peer-reviewed scientific publication; here is a preprint: https://stefan-marr.de/papers/dls-marr-et-al-cross-language-... > is there any reason you used 2.1.0 and not 2.0.0? The 2.0…

    Comment linking /papers/dls-marr-et-al-cross-language-compiler-benchmarking-are-we-fast-yet/

    on “Ruby 3.0”
  4. Submitted Zero-Overhead Metaprogramming as a story · 141 points

    HN discussion
  5. Particle systems [1]. AR. VR [2][3][4][5]. Image processing, neural nets. But not in programming languages like C, Java or Linux. Only in massively parallel message passing languages[4]. I suggest a Smalltalk message passing scalable cluster VM like the RoarVM [6][7][]8]. [1] Shadama 3D. Yoshiki Oshima. https://www.youtube.com/watch?v=rka3w90Odo8 [2] OpenCobalt Alpha. https://www.youtube.com/watch?v=1s9ldlqhVkM&t=13…

    Comment linking /renaissance/ungar-adams-2009-hosting-an-object-heap-on-manycore-hardware-an-exploration.pdf

    on “PCI Express on the Raspberry Pi 4”
  6. Submitted What if we could see all concurrency bugs in the debugger? as a story · 122 points

    HN discussion
  7. RPython is very similar to Graal+Truffle, except that RPython is based on tracing and Graal+Truffle is based on partial evaluation. There's a nice paper comparing the two approaches and their relative merits: http://stefan-marr.de/papers/oopsla-marr-ducasse-meta-tracin...

    Comment linking /papers/oopsla-marr-ducasse-meta-tracing-vs-partial-evaluation/

    on “Graal and Truffle could accelerate programming language design”
  8. Submitted Simple Language Implementation Techniques for the 21st Century as a story · 84 points

    HN discussion
  9. If Rust wasn't able to elide bounds checks, that is most likely where the perf difference is from. Analyzing the output the assembly output from goldbolt or looking at the MIR can help. https://stefan-marr.de/2022/10/cost-of-safety-in-java/ Unsafety buys you a little more performance, but the baseline should the safe version, not the unsafe version. It is like having to explain on a case by case basis why you aren't…

    Comment linking /2022/10/cost-of-safety-in-java/

    on “Python 3.11 is faster than 3.8”
  10. Submitted How effective are classic lookup optimizations for Rails apps? as a story · 73 points

    HN discussion
  11. In case someone is interested in the (JIT) performance of 3.0 RC 1 compared to version 2.7.2, here are some measurement results based on the are-we-fast-yet benchmark suite: http://software.rochus-keller.ch/are-we-fast-yet_crystal_rub... and http://software.rochus-keller.ch/are-we-fast-yet_crystal_rub... . I see only a slight speedup of the 3.0 (JIT) compared to 2.7 (less than 15%). See here for more information abo…

    Comment linking /papers/dls-marr-et-al-cross-language-compiler-benchmarking-are-we-fast-yet/

    on “Ruby 3.0.0 RC1”
  12. Submitted Can we know whether a profiler is accurate? as a story · 70 points

    HN discussion
  13. In case someone is interested, here are some benchmark results comparing GraalPy and others with JDK8 using the Are-we-fast-yet benchmark suite: https://stefan-marr.de/downloads/tmp/awfy-bun.html And here is a table representation of all benchmarks and the geomean and median overall results: http://software.rochus-keller.ch/awfy-bun-summary.ods The implementation of the same benchmark suite runs around factor 2.4 (g…

    Comment linking /downloads/tmp/awfy-bun.html

    on “GraalPy – A high-performance embeddable Python 3 runtime for Java”
  14. Submitted Why Is Concurrent Programming Hard? as a story · 47 points

    HN discussion
  15. My implementation of Ruby, JRuby+Truffle, is as fast as V8 http://stefan-marr.de/downloads/crystal.html

    Comment linking /downloads/crystal.html

    on “Introducing the B3 JIT compiler”
  16. Submitted Project Renaissance: Avoid the Concurrency Trap by Embracing Non-Determinism as a story · 44 points

    HN discussion
  17. The benchmarks I have seen show Hotspot is ahead of V8. E.g. https://stefan-marr.de/papers/oopsla-larose-et-al-ast-vs-byt... What makes this very complicated is that 1) language design plays a big part in performance and 2) CPUs change as well and this anecdotally seems to have more impact on interpreter than compiler performance. With regards to 1), consider optimizing Javascript. It doesn't have machine integers,…

    Comment linking /papers/oopsla-larose-et-al-ast-vs-bytecode-interpreters-in-the-age-of-meta-compilation/

    on “An Attempt to Catch Up with JIT Compilers”
  18. Submitted Cross-Language Compiler Benchmarking as a story · 34 points

    HN discussion
  19. Note that PyPy does something similar, but based on (meta-)tracing instead of partial evaluation. See https://stefan-marr.de/papers/oopsla-marr-ducasse-meta-traci... for a discussion.

    Comment linking /papers/oopsla-marr-ducasse-meta-tracing-vs-partial-evaluation/

    on “GraalVM 19.0”
  20. Submitted Zero-Overhead Metaprogramming as a story · 31 points

    HN discussion
  21. It's interesting to read the OP's response to partial evaluation (employed by Truffle) and why he switched to meta-tracing in RPython. Basically, the inlining/specialization decisions in PE-based JITs were harder to control than just letting the VM observe loop iterations. Here's a paper regarding a pair of language implementors' experience using both techniques: http://stefan-marr.de/papers/oopsla-marr-ducasse-meta…

    Comment linking /papers/oopsla-marr-ducasse-meta-tracing-vs-partial-evaluation/

    on “The First 15 Years of PyPy – A Personal Retrospective”
  22. Submitted Tracing vs. Partial Evaluation: Comparing Meta-Compilation for Interpreters as a story · 24 points

    HN discussion
  23. There aren't many people looking at these JITs at the moment. Stefan Marr[1]'s group[2] is, I believe, the where most of the research is currently done. A recent paper[3] compares performance of interpreters in RPython and Graal. Their baseline performance is Java, and they achieve performance close to V8, which itself is about 2x slower than Java. My summary is you can write fast interpreters + get JIT for free, bu…

    Comment linking /

    on “Optimizing Guile Scheme”
  24. Submitted Tracing vs. Partial Evaluation (2015) as a story · 13 points

    HN discussion
  25. The 2008 RoarVM project allowed Squeak to run on a 56 core Tilera chip and was later ported to run on multiprocessor x86 machines: https://stefan-marr.de/renaissance/ https://github.com/smarr/RoarVM This was a research project so performance on a single core was poor compared to the official Squeak virtual machine, but it was an interesting exploration of the natural fit between objects/message passing and multiple…

    Comment linking /renaissance/

    on “On Learning Smalltalk”
  26. Submitted A Concurrency-Agnostic Protocol for Multi-Paradigm Concurrent Debugging Tools as a story · 12 points

    HN discussion
  27. Research on partial evaluation (PE) was fashionable in the 1990s, but largely fizzled out. I was told that was because they could never really get the results to run fast. I'm trying to understand why. Clearly meta-tracing and PE have a lot of overlap. Truffle is based on some variant of dynamic PE if I understand what they do correctly. Most of the 1990s work in PE was more about static PE I think. The paper [1] to…

    Comment linking /downloads/oopsla15-marr-ducasse-meta-tracing-vs-partial-evaluation.pdf

    on “Jitterdämmerung”
  28. Submitted The Cost of Safety in Java as a story · 6 points

    HN discussion
  29. The Truffle based implementations of dynamic languages get close depending on what you’re benchmarking. https://stefan-marr.de/papers/dls-marr-et-al-cross-language-...

    Comment linking /papers/dls-marr-et-al-cross-language-compiler-benchmarking-are-we-fast-yet/

    on “Why Is JRuby Slow?”
  30. Submitted Why Is Concurrent Programming Hard? as a story · 5 points

    HN discussion

Search all of HN for stefan-marr.de

Linked by the same people?