A new benchmark tool

Started by verdraith, January 27, 2023, 04:03:58 PM

Previous topic - Next topic

What configuration should NSBench use as a baseline?

25MHz 68030 NeXTcomputer with 16MB RAM
7 (43.8%)
33MHz 68040 NeXTcube with 64MB RAM
1 (6.3%)
25MHz 68040 NeXTstation Color with 64MB RAM
4 (25%)
33MHz 68040 NeXTcube with 64MB RAM + 64MB Dimension with NSBench on the colour display.
4 (25%)

Total Members Voted: 16

Voting closed: February 06, 2023, 01:20:17 PM

verdraith

As I mentioned in another topic, Dhrystone is a dead benchmark, so I have started work on an NXBench replacement... called NSBench, because I like inventive names.

It borrows the 'NXFactor' code from GSBench, which is a port of NXBench done by Philippe Robert, but everything else is scratch-written (with help from some code on Nebula and Peanuts.)

Here's what it currently looks like:



I've architected it such that all benchmarks are bundles, loaded in by the main routine.  This will allow me to add further benchmarks (such as CoreMark) as time goes on.

The code I borrowed was the PostScript widgets you see on the system info display -- the pie chart and the line bar.

I'm not 100% sure about the pie chart, I'm sure it can look prettier, but I think that can wait.

I'll keep the thread updated as the project progresses.
Lisp Hacker

Nitro

This is really cool, can't wait to see it progress.
Nitro

verdraith

System information bundle is nearly done.

Here it is telling me about my NI /locations/resolver on NS3.3 Intel:


Picking up screens on a plain cube+dimension:


And as a bonus:


I should really have it sort the list used to populate the display information.
Lisp Hacker

barcher174


verdraith

System information bundle is pretty much complete.


Not sure if adding network interfaces, netmask, gateways, routing table etc would be handy... can always add those later, though.

NXFactor is pretty much complete, too


GNUstep port lacks user path PostScript benchmark, and I don't know enough about DPS to re-create it... not a major issue, though.

The numbers appear to be on a par with NXBench 2.0 for NEXTSTEP 3.3, which is great, though I am tempted to optimise the NXFactor code, which will probably require re-normalisation.

Preferably, this ought to be a stock '030 cube. Does anyone have one of those running NS 3.3?

The pre-pre-pre-pre-pre-pre release is available at https://github.com/Asmodai/NeXT-NSBench/releases/tag/v0.1.
Lisp Hacker

zombie

Such a cool project! Kudos! We need a window mover and importantly, window RESIZER test. Drive test. Maybe a realtime render man 3d rotating cube test! :D

Super cool.

verdraith

#6
Not interested in a RenderMan cube :P

if you can find me a Utah Teapot RIB, I can probably spend some time with the documentation.

re window resizing, can probably add that to the NXFactor test.

I'd be tempted to add moving between screens, too... but, that would have to be a 'bonus' score that doesn't affect the overall result.
Lisp Hacker

verdraith

Btw, for the time being, will be easier to attach issues to this thread rather than GitHub's issue tracker.

If you post scores, can you be as detailed as possible about the hardware involved?

Preferably we'd want NXFactor results for all NeXT hardware, as well as HP and Sun hardware.
Lisp Hacker

Daxziz

This is awesome work. Love the design and the effort.

More importantly, I really can't thank you enough for releasing the source. If more people would write a small piece of software every now and then, it'll make it so much more fun to fire up the machines. Heck it could be fun just to a game night playing multiplayer together on the boxes xD
But that's for a different thread.

Thanks for the work you put into this again!

verdraith

I am actually highly tempted to write a MUD client at some point! :)

Re source:  I think as much source as possible being made available for older platforms keeps them alive... hackers learn by looking at what other hackers do.  I learned a lot just by mounting the Nebula2 CD and looking through the source code directory :)
Lisp Hacker

MindWalker

#10
Just tested this on my Sparcstation 4 (85 Mhz, 64MB RAM, built-in video @1152x900, RGB:256/8).

The CPU type appears to get parsed incorrectly as "Generic" on the header but otherwise this looks really nice!

nsbench-6.png

I have no idea of what NXFactor range I should expect - the numbers seem quite low compared to the screenshots above. I ran it twice, first time I had both telnet and FTP sessions running on the background but closing those didn't affect the score much (score went from 2.151028 to 2.153181).

nsbench-5.png

verdraith

Quote from: MindWalker on January 30, 2023, 10:50:14 AMThe CPU type appears to get parsed incorrectly as "Generic" on the header

Blame NeXT for that  ;D

I'll add in some stuff that looks at CPU type as well as CPU subtype.  I wonder if it has the same behavior on PA-RISC.

Re NXFactor... ~1 should be a 25MHz '040 Cube with 24MB RAM and grayscale display.
I'm thinking of re-basing '1' to represent an 25MHz '030 NeXTcomputer with 16MB RAM.


Re the number difference... the machine I developed NSBench on is a 4GHz Intel i7, hence the huge numeric difference.
Lisp Hacker

verdraith

I've added a poll... the results of which will determine the baseline for computing the NXFactor.
Lisp Hacker

MindWalker

Quote from: verdraith on January 30, 2023, 12:20:09 PMRe NXFactor... ~1 should be a 25MHz '040 Cube with 24MB RAM and grayscale display.
I'm thinking of re-basing '1' to represent an 25MHz '030 NeXTcomputer with 16MB RAM.

Re the number difference... the machine I developed NSBench on is a 4GHz Intel i7, hence the huge numeric difference.

I'd say basing 1 to the lowest-spec'd real NeXT machine sounds reasonable.

Ok, that CPU makes sense, I just saw it said it was a 486 and was stunned how that could be *that* much faster than my Sparc  ;D

zombie

I like making the benchmark the highest pinnacle of black hardware performance released. The turbo next dimension.

The reason being is we can now see what we can achieve beyond the best NeXT ever offered. 

Also, I suspect you will get different results if you run it on NS 2.0 vs OS 4.2. I suspect the latest OS will be slower.

Which reminds me of a good test. Loading libraries. For example launching an app in open step like Writeup and closing it are painfully slow, because it seems thick with open step libraries, vs writenow which is mostly assembly if I recall.  But some test that times loading a bunch of libraries and dumping them would give you a factor of how slow the OS is.  So maybe loading a bunch of heavy objects? Maybe easier said than done. Also, I'm sure this may be easier said than done and not worth the toil.

Anyway, this is a super cool project, thank you for doing it!