Portable CPU retro benchmark software

Announcements, advice, random banter, unrelated discussion, et cetera.

Portable CPU retro benchmark software

Postby vladstamate » 2018-7-13 @ 17:09

Hi all,

I've written a very portable CPU benchmark aimed at retro computers. It runs on anything from 8088 to Core i7, supporting ARM, Intel, Motorola etc. It runs in DOS, Windows, Linux, macOS. All I need is a it of time to make it run on AmigaOS, OS9, OS8, etc.

It is designed not only to be super-portable but also scale properly. So you can compare a 286 to a Pentium III and a Motorola 68030 to a Pentium IV and actually make sense. It tests CPU operations (integer, floating point), multicore and memory operations.

It is not a 100% refutable proof provider but it is pretty close to that. I want to make it open-source so that we can all contribute to it.

Anyone interested in looking at it, running it, adding more tests to it?

I have executable for 16bit DOS, 32bit Windows, Linux (Intel 16bit and 32bit and 64bit and ARM), macOS (16bit and 32bit and 64bit). And of course makefiles and projects to build your own. The proper scalability is nice.
User avatar
vladstamate
Oldbie
 
Posts: 853
Joined: 2015-8-23 @ 01:43

Re: Portable CPU retro benchmark software

Postby mrau » 2018-7-15 @ 11:34

what kind of operations do you test
mrau
Oldbie
 
Posts: 995
Joined: 2015-11-28 @ 12:43

Re: Portable CPU retro benchmark software

Postby vladstamate » 2018-7-15 @ 12:43

For integer testing I do:
- a generic integer manipulation which includes logical and arithmetical operations; +, -, xor, shifts, division and multiplication.
- a quicksort implementation

For floating point:
- floating point Mandlebrot
- floating point vector matrix multiplication (specifically vector rotation with a matrix)

For memory:
- move data using various widths: 8bit, 16bit, 32bit and 64bit

For multiprocessor:
- large matrix by matrix multiplication separated in threads, such that each thread does equal amount of work

All this is written very portable.

The scalability has 2 facets

1) It is designed to take decent amount of time whether you are running it on a 4.77Mhz 8088 or a 4Ghz Core i7 or 1.4Ghz Raspbery Pi.
2) It scales the results back such that the final value returned is comparable between ALL CPUs

Negatives:

1) Code is fairly small, performance will be impacted by good iCache in recent processors
2) I need more tests in each category
3) I need more binaries precompiled for more architectures.

That is why I am trying to open it so that people can run it and I will do that as soon as my company allows me to release open-source.
User avatar
vladstamate
Oldbie
 
Posts: 853
Joined: 2015-8-23 @ 01:43

Re: Portable CPU retro benchmark software

Postby vladstamate » 2018-7-15 @ 13:00

Here is an example of me running it on a VARIETY of architectures:

For the "(to run)" I actually have numbers somewhere, but they are with an older version of the benchmark so on those machines I need to re-run.
Score - overall score
Int - integer operations score
MP - score at multiprocessor test (this is NOT Int*num_cores, as the tests are different). Only useful to compare MP against various machines.

Code: Select all
                                     OS            Score   Int      MP      Notes

386DX @ 40Mhz                        Linux         3.12
Pentium MMX @ 266Mhz                 DOS           (to run)            
Pentium II @ 400Mhz                  DOS           (to run)            
Pentium III @ 833Mhz                 WinMe         (to run)
PowerPC G3 @ 300Mhz                  OSX 10.3       (to run)   
PowerPC G3 @ 400Mhz                  OSX 10.4       (to run)   
PowerPC G4 @ 766Mhz                  OSX 10.4       366    452     91    1 core
C2D P8600 @ 2.4Ghz                   OSX 10.8       (to run)    
AMD Phenom(tm) II X4 960T @ 3.0Ghz   Linux          1768   1834   3532   4 cores
AMD Phenom(tm) II X6 1100T @ 3.3Ghz  Win10          2056   1868   4574   6 cores
i7-4870HQ @ 2.50GHz                  OSX 10.13      3441   3333   3993   8 cores
i7-2600 @ 3.40GHz                    OSX 10.13      3706   3594   4382   8 cores
i7-4771 @ 3.50GHz                    OSX 10.13      3955   3748   4992   8 cores
Xeon(R) E5-1650 v2 @ 3.50GHz         OSX 10.13      4363   3814   7235   12 cores
i7-7700K @ 4.20GHz                   OSX 10.13      4418   4404   6218   8 cores
User avatar
vladstamate
Oldbie
 
Posts: 853
Joined: 2015-8-23 @ 01:43

Re: Portable CPU retro benchmark software

Postby vladstamate » 2018-7-15 @ 13:03

I am planning to make retrobench public so that people can

a) running it on various architectures
b) compile it for various architectures
c) add more tests

The repository right now provides 7 binaries for different OS/CPU combo: 386, PowerPC G4, PowerPC G3, x64 etc. For OS I currently support: DOS (16bit), Linux (32bit and 64bit), OSX (PowerPC and Intel), Windows (32bit and 64bit). I am working on adding Motorola support.
User avatar
vladstamate
Oldbie
 
Posts: 853
Joined: 2015-8-23 @ 01:43

Re: Portable CPU retro benchmark software

Postby Kreshna Aryaguna Nurzaman » 2018-7-15 @ 13:29

Does it also work in DOSBOX? And does it work quite accurate in DOSBOX? For example, let say I use your benchmark in a real 386, then I get a certain benchmark score (say, 5762). Then I use your benchmark in DOSBOX while playing with CPU cycles to approach the real 386 score previously obtained using your benchmark (say, 5820).

Would gaming performance between the said 386 and the cycles-set DOSBOX be the same?
Never thought this thread would be that long, but now, for something different.....
Say no to online installer.
Kreshna Aryaguna Nurzaman.
User avatar
Kreshna Aryaguna Nurzaman
l33t
 
Posts: 2907
Joined: 2006-11-15 @ 06:44
Location: Indonesia

Re: Portable CPU retro benchmark software

Postby vladstamate » 2018-7-15 @ 13:45

Kreshna Aryaguna Nurzaman wrote:Does it also work in DOSBOX? And does it work quite accurate in DOSBOX? For example, let say I use your benchmark in a real 386, then I get a certain benchmark score (say, 5762). Then I use your benchmark in DOSBOX while playing with CPU cycles to approach the real 386 score previously obtained using your benchmark (say, 5820).

Would gaming performance between the said 386 and the cycles-set DOSBOX be the same?


I suspect it will to some extent. For example I've ran it on my cycle based emulator emulating a 386DX @20Mhz it got me half the speed of my physical 386DX@40Mhz (as expected).

I will run it in DOSBOX as well and see what I get.

For DOS I only have a 16bit executable. I need to get a compiler that produces 32bit executable, as that binary for DOS will be more accurate for anything 386 to Pentium III (in DOS mode).
User avatar
vladstamate
Oldbie
 
Posts: 853
Joined: 2015-8-23 @ 01:43


Return to Milliways

Who is online

Users browsing this forum: No registered users and 5 guests