Get that emu faster

The Uzebox now have a fully functional emulator! Download and discuss it here.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Get that emu faster

Post by Artcfox »

Jubatian wrote:I don't think it should be done. For me, adding update_hardware_fast() everywhere only bumped up performance by 3 percents (see PGO results: 93MHz versus 96MHz), and only by profile guiding (otherwise results were abysmal). For you, by this comment from before:
Artcfox wrote:On my desktop, I did notice a slowdown when update_hardware_fast is not called everywhere versus when it's called in the few places that Jubatian chose (225 MHz when called everywhere, versus 215 MHz the way it is now), but I left it the way it is so we have a baseline to build on top of.
That's an 5% increment for the version without update_hardware_fast everywhere. This doesn't worth it, especially if it is really that the thing balances on the edge of a 32Kb L1 cache (since it is more likely that many people has older CPU's with 32K L1 than like 40K or 48K, or 28K on the other end): it would likely deteriorate things for people for who performance matters more.
Okay, then I think what I'll do is add proper instrumentation to the build, and get actual statistics on which instructions are called the most across various the games with different video modes, and use that to guide where I put the update_hardware_fast() calls. My main goal right now is accelerating the web build, which cannot use profile guided optimization, and has trouble hitting 100% emulation speed even on a computer where the same native emulator might run at 110 MHz.
Post Reply