Thread: JIT on WinUAE
View Single Post
Old 25 December 2017, 11:52   #4
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 1,980
JIT runs as fast as possible - you know how it works, I'm sure, but if you don't then here's a very, very brief and cut-down explanation:

It analyses code as it runs, and blocks of code (usually between branches) are converted into native x86 code. These blocks are stored so that the next time the virtual CPU encounters them it just runs the block instead of emulating. In a (very) good JIT implementation, you can get very close to native speed if you don't have weird graphics and sound stuff to do.

In theory the 060 and 020 should be identical from a JIT point of view, but perhaps there are things the 060 does that cannot be neatly fit into the JIT methodology, or perhaps it performs more operations (albeit much much faster) than the 020 for things like tracking memory usage, caches etc which when performed even in native code take away time that could be better used running the Amiga code. So the 020 seems faster because it has less to do.

In the real world, the 060 is faster because although it has more to do, it can do it (and the same job the 020 is doing) faster. But JIT levels the playing field and renders the 060 pretty pointless.

I'm sure Toni can offer a better explanation.
Dunny is offline  
 
Page generated in 0.08756 seconds with 11 queries