How To Make a Fast Dynamic Language Interpreter

A write-up of 21 optimizations that sped up a simple interpreter for the Zef language.

Author
Not stated
Published
Undated
Kind
Technical write-up with step-by-step benchmark results
Original
zef-lang.dev/implementation
Subject
Compilers and interpreters
Themes
Close to the machine

What it is

The author is not named on the page. The author built Zef for fun, compiled with Fil-C++. The post targets people starting a language implementation from scratch. It says techniques here need no bytecode, JIT or machine code.

What it says

What evidence it gives

The post reports timings for four ported benchmarks: Richards, DeltaBlue, N-Body and Splay. Each result is an average of 30 randomly interleaved runs on one Intel machine. A table shows the cumulative effect of every change, and raw seconds are given.

Interests and limits

The author chose the benchmarks. Some Python and Lua ports of Splay were written with Claude. All runs used one machine. Most comparisons set Fil-C++ builds against other interpreters built with ordinary compilers. The language is the author's own, so results may not carry to other designs.

Connections

These links are this wiki's own reading, not claims the sources make.