Performance of tamarin-tracing interpreter

Rick Reitmaier rreitmai at
Thu Jan 17 15:04:43 PST 2008

One other point that may be obvious to some but just to
provide context is that tamarin was open sourced AFTER
we had already tuned and tweaked it into a final product;
that being the the flash player.

Tamarin tracing on the other hand has been released
prior to that point and we are heavily working to get
it up to par.

- Rick

On 1/17/08 1:48 PM, "Steven Johnson" <stejohns at> wrote:

> Great summary. I'll add one more: we haven't spent that much time optimizing
> the interpreter speed because we've been focusing on tracing. the one
> exception is superwords:
>> * superwords are used to compile common sequences of forth into a slab of
>>   faster C, without losing the ability to trace the sequence.
> Judicious use of superwords can make a big impact on interpreter speed, but
> we haven't put a ton of time into identifying the spots that could make the
> best use of them. (we could theoretically generate superwords automatically
> for some subset of all the basic blocks in the forth code, but that might
> cause a code size explosion unless done with care)
> right now, superwords have to be explicitly marked in the forth. it would
> probably be worthwhile to have this datadriven somehow instead, based on
> profiles of interpreted code to find the hotspots.
> it's also tricky in that a superword can't contain anything that would cause
> a branch exit (IF, etc), which means that only certain existing forth words
> are candidates.
> _______________________________________________
> Tamarin-devel mailing list
> Tamarin-devel at

More information about the Tamarin-devel mailing list