Wednesday, February 16, 2011

Quick Performance Update

So yesterday I was talking with a colleague about Digamma, and I realized that I haven't run the full suite of micro-benchmarks for almost 1.5 years now. Previously, Vesta (the C interpreter for Digamma that uses a simplistic "VM" (no compilation, self managed stack with jumps, &c.)) was generally a bit slower than TinyScheme, or in that region. Today, it's in the same realm as Gambit-C & Gauche, on my old AMD Turion64. I'll post some further updates later today or tomorrow, but with simple microbenchmarks (Fibonacci sequence, CSV parse & compute stats, Do nothing but parse prelude & start, HTTP connection and bit-vector test). I've always attempted to avoid things for which Digamma has a data structure advantage (anything that would compare Digamma's dictionaries, which are backed by tries, to a-lists is inherently unfair), so I'm quite happy with this result. It also means that no matter where Nyx, Ceres, Eris, Enyo & E-prime go, they can't get much worse than Vesta. Very good day for Digamma.