Joachim Breitner

Faster Winter 2: SPECIALIZE

Published 2019-11-18 in sections English, Haskell, Internet Computer.

(This is the second optimization presented in the “faster winter” series, please see that post for background information.)

The evaluator of the WebAssembly interpreter is highly polymorphic, as you can tell from the type signature of its main function:


Again, as when we introduced mutable vectors, memory usage increases a bit, likely due to more stuff happening between garbage collections.

The code runs faster, but memory consumption is still absurd. So it is high time to hunt down the space leak, as the interpreter should not need any significant amounts of memory, and instead execute the program using a constant and low amount of memory. More about that in the next entry of this series.


Have something to say? You can post a comment by sending an e-Mail to me at <>, and I will include it here.