Sunday, September 19, 2004

Super Emulator

Platform emulators have gotten pretty good over the years. I don't run Windows stuff on my wife's little iBook but I hear there's good software if I wanted to try. If you believe this article from technology Review, the tiny startup Transitive Software has some breakthrough technology that allows you to emulate a platform with almost no loss of performance. It certainly sounds too good to be true.


While skimming the companies technology overview document I was struck by the similarity between one of their breakthrough optimizations and what the Sun HotSpot JVM attempts to do for Java.


The optimizing kernel reads the intermediate representation and optimizes the code. At first, simple optimizations are performed. In most applications, however, a 90/10 rules holds where 10% of the code is executed 90% of the time. The optimizing kernel looks for blocks of code that are executed often, spends increasing amounts of time improving the optimization of this code, and then stores this optimized code in memory. Each time a frequently used block of code needs to be executed, the highly optimized code stored in memory is used instead of optimizing that block of code again. Because the blocks of code that are executed change frequently, the optimizing kernel flushes old optimized blocks and generates new ones. The optimizing kernel produces superior code optimization compared to static binary translators or compilers. It optimizes code based on how an individual user is using that application and does not need to optimize code for the general case.
Post a Comment
 
The Out Campaign: Scarlet Letter of Atheism