Andy Wingo <wi...@pobox.com> writes: > I don't have Neil's mail open here, but my thought was this: getting a > fast VM is a dark art of feeling and instinct, My feeling is that a VM > is fast if it fits in the CPU's cache: the instruction cache and the > data cache. The data cache means that smaller code is better, hence my > resistance to word-sized instructions. The instruction cache means that > the VM itself should be small -- but if the code for vector ops is all > "at the end" of the VM, then only code that uses vector ops pays for the > increased "cache footprint" of the VM.
Thanks, I see now. But presumably even VM code will frequently call out to primitives all over libguile, won't it? I completely agree that small code size can be important for performance, but I doubt that it is the size of the VM on its own that matters. (Or am I still not understanding what you mean?) > But like I say, all this is instinct, which may well be wrong. Me too! Neil