DosBox Benchmarks to compare ARM platforms?


That is Norton Sysinfo. This emulator, rpix86, is probably a port of dsx86. You'll note the same author did some profiling of what it was doing back on the dsx86 blog. Last score it showed was 10.4 (http://dsx86.patrickaalto.com/DSblog2010b.html)

This was all for a ~67MHz ARM9. Getting only 4x better on a 700MHz ARM11 is kind of sad. However, I will note that Sysinfo is actually a terrible benchmark. It's more of an attempt to try to determine MHz based on a calibration loop, than to try to determine general performance of a CPU. It also contains a division instruction which throws it further off typical performance.

Using a DOS emulator to play Doom seems pretty ridiculous to me.. not sure why this is one of the first things people bring up, for a game that has been ported and enhanced on pretty much every platform in existence..
 
Last edited by a moderator:
rpix86 is also at a much less advanced phase... and DSX86 run direct on the metal while rpix86 run on top of linux...
 
Lots of people on Engadget are running with this to say it's like a 42MHz 486 and balking it. In reality it's probably a lot slower than a 42MHz 486 when running real apps. It's inflated because of those division instructions. That could also be tripping up the non-DS versions if their division implementation is a lot worse (DS has a hardware divide unit but I don't know if he's using it). But the real killer here is that interpreters wreck branch prediction so their branches take a lot more cycles on RPi and even the Android devices he's tested on, vs the ARM9 DS.

The only thing running on the metal on DS is really going to make a difference for with this is the screen blit time. Which is not immaterial but hopefully it's not too high on RPi...
 
Last edited by a moderator:
Would expect qemu to tend do better than DOSBox, though.

For those interested, Pate has a blog for asx86, the Android port, where he also mentions rpix86. http://ax86.patrickaalto.com/ablog.html

This line is a little strange (it's with regard to Doom timedemo runs, so a real benchmark):

On the other hand I still don't have any ARMv7 optimizations, so if I figure out some such I might reach higher speeds. In any case it looks like DOSBox Turbo is indeed really well optimized, I wouldn't have thought that the DOSBox architecture can reach similar speeds to my optimized ASM core.
I have the opposite reaction. It's sad that a recompiler only does slightly better than his optimized ASM interpreter, where he averages several dozen cycles per instruction back on Nintendo DS. I definitely wouldn't take this to mean DOSBox Turbo is really well optimized. But I think some people just don't really believe in recompilers. I remember recommending he look into them years ago. But he was probably right to not attempt that route in DS, too little RAM.
Am curious how this benchmark would perform on qemu on Pandora.
 
However, I will note that Sysinfo is actually a terrible benchmark. It's more of an attempt to try to determine MHz based on a calibration loop, than to try to determine general performance of a CPU.
Pardon me if this is a dumb question but does Sysinfo get real world clock from the emulator? It needs to have some kind of basis on real world time (not ticks on the emulated system) to have ANY value as a benchmark.


If not, running Doom timedemo within the emulator would make sense, as you can measure the time it takes to complete manually.
 
PC does have a real time clock and a programmable timer that both have standard clock rates. But I don't know if it's calibrating against those, and of course that requires the emulator to be emulating those at the proper realtime speeds. You might want the timer to use emulated cycles and the RTC to use real time..
 
Back
Top