> The result of sqvm surprised me, I expected it to be much faster. Is > this result reasonable? Did I do something wrong when compiling and > running sqvm?
Ian will give you a better answer, but here is my answer: If you look at the generated C code from the idc compiler, it is almost just bunch of message sendings. Because every step is a message, what the generated code does is repetition of look-ups and sends. This is not too different from what Squeak VM does, and the rough performance of IdSt is in the same ballpark of Squeak. And, if you look at the implementation of sqvm, it is actually a bytecode interpreter written in IdSt; stack manipulation or all of these are run at that speed, so, roughly speaking, the performance is not too different from writing a simulator in Squeak. At one level, you could imagine to take a method body in Squeak and compile it in the same manner. That would bring it to the ball park of Squeak, at least. You could put better method caching at call sites (possibly different ones based on some analysis), it would make it faster than Squeak. -- Yoshiki _______________________________________________ fonc mailing list [email protected] http://vpri.org/mailman/listinfo/fonc
