VOGONS

Common searches


First post, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

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.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 2 of 6, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

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.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 3 of 6, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

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.

                                     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

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 4 of 6, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

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.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 5 of 6, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t

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.....
Kreshna Aryaguna Nurzaman.

Reply 6 of 6, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie
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).

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/