h5n1xp / Omega

Bare metal Amiga Emulator
Mozilla Public License 2.0
70 stars 7 forks source link

Question about M68K_EMULATE_ADDRESS_ERROR #28

Open dirkwhoffmann opened 5 years ago

dirkwhoffmann commented 5 years ago

I've did some performance profiling with vAmiga and found out that 80% of total computation time is consumed by Musashi 😳.

Screenshot 2019-03-29 at 15 22 13

65% is consumed by setJmp() which is called if M68K_EMULATE_ADDRESS_ERROR is enabled. I've seen that Omega also has this option enabled. Did you experience a similar issue? If not, there must be something terribly wrong with me system settings.

dirkwhoffmann commented 5 years ago

If I disable M68K_EMULATE_ADDRESS_ERROR, vAmiga runs at 75 MHz in warp mode 😎.

mithrendal commented 5 years ago

dirk, you better fasten your seat belt now....

h5n1xp commented 5 years ago

Just tested, my CPU is lock step with the screen refresh so it never goes too fast (you can increase the cpu time slice in my cpu_execute function if you need more CPU to DMA time, I have it at 16 instructions to one DMA at the moment).

But I have to say Address_error option off has reduced the CPU load massively... and testing some code in Blitz has shown that your testing is correct, there is almost no limit to the performance! No program I have tested slows the emulator down 😮

Omega can now claim to be the lowest resource using Amiga emulator, if nothing else 😆

I have two reason to celebrate today, this speed boost and “No Brexit Day”... we celebrated with lunch at a Bavarian Beer House 0584DFE9-EA1C-4CD0-83DA-B63A54C3265A

dirkwhoffmann commented 5 years ago

Amazing, I had the same beer yesterday 😅.

It's really delicious, but I wonder what the brewery's putting in there. If I drink more than one, I get a hangover.

h5n1xp commented 5 years ago

My friend calls the Dunkle Weissbiers “Hangover Juice”! I love them 😊