Here everyone can discuss they're times and such. I appologise that this program at the moment has the few bugs that it does (see the read me, and if you have a 64 bit OS, don't try it.... unless you are using DOSbox)
I will upload my times from my laptop so there is a basis for you all to look at, and in time, i hope to evolve this from a COMP SCI extra credit project, to a good useful program.
Seeing time error fixed
My Times on my 1.6ghz c2d
A = .4375 sec
B = 4.71875 sec
C = 46.6875 sec
D = 467.6875 sec
As you all can see, the times go up at about 10x, so I am using a linear sort.
www.QBench.co.nr
-
Attached Files:
-
-
It's really hard to see the time it takes to complete the sort because it disappears instantly after showing it. One suggestion would be to make it so that the window doesn't close automatically.
I think I got 43s for option C sort, but it was hard to see exactly (T7100) -
huh... for me it prompts for a key before it closes... ill look into that
-
What does it do to benchmark the speed? I was actually thinking about doing something like this for my class...GET OUT OF MY HEAD!!!!
-
what it does is calculate the time it takes to sort, then you just compare your times to the times of the community, and vwala!
-
Bumping it up so more people can see it...
-
a: 0.28
b: 2.64
c: 25.7
d:
Some improvements you should make:
-Only use one amount of numbers Say 1,500,000 Sorts.
-Make a More graphical interface... Just a frontend to the app.
-Add a Upload score system , I can code you a PHP results System for you as long as you have some sort of storage (With PHP support on your webserver..) Ask around here , Im sure someone will give you some space.
-A Must , Make it Multithreaded
Hey , Im thinking maybe Im gonna create a benchmarking app , Since i love benchmarking soo much and im sick of wprime ... Wanna team up?? I can code alot of web based languages and can do simple stuff in C++.. Like calculators ect... -
Um, sorting random numbers is a really bad benchmark. Do you at least use the same seed every time, so everyone get the same sequence of numbers?
Also, what sorting algorithm do you use?
And have you considered what other bottlenecks affect the result? (Sorting a large amount of numbers means your RAM is going to become a bigger bottleneck than the CPU, most likely)
Making good (reliable) benchmarking tools is awfully hard. You need to be extremely careful to get "fair" results that don't favor specific hardware setups too much -
Well what would be a better test. Id of though the ram would be fast enough not to have any affect. Ill try my pc with some ancient DDR2 memory and high timings to see if it makes any differance.
-
RAM is ridiculously slow compared to CPU's. It has an access time around 40 nanoseconds. A CPU can execute something like 10 instructions per nanosecond. And sorting data requires almost zero computation. Just reading data, comparing, writing data.
If you want to test CPU speed, you need to work on data that fits in the CPU cache. (You'll also get very different results depending on whether you fit the data into the L1 or L2 cache, because some CPU's have better L2 cache bandwidth than others)
And of course, do you want to measure integer or floating point performance of the CPU? What about special instructions such as SSE?
Some CPU's are better than others at handling branches. How much should that count for?
Are there computations made up of few, long dependency chains? Or a number of instructions that can be executed in parallel?
Part of the reason why benchmarking is hard is that you need to decide exactly what it is you're measuring. There isn't *one* global performance measure. The results will vary a lot depending on exactly what the benchmark tool does -
40 Nanosecconds?? How can that be right? Flash memorys is like 1ns , Hard drives are like 9 , Am i missing somthing?
-
This is far more complex that it looks , Your right. But surley it can be done. A specific test on the CPU alone is rather difficult though.
-
-
nanoseconds are not the same as milliseconds.
A nanosecond is a billionth of a second. A millisecond is a thousandth. Or in other words, 1,000,000 nanoseconds = 1 millisecond.
As long as you don't pretend it's more general than it is, this is a perfectly valid benchmarking tool. But it doesn't tell you which CPU is fastest overall, or how much faster CPU A is than CPU B. No tool does, because the answer depends on what you want the CPU's to do.
A good example would be the PS3's Cell processor vs a Core 2.
The Cell can decode 40 video streams simultaneously, so surely it must be more powerful than a Core 2, right?
But if we change the workload, and ask it to run a regular single-threaded application, such as your average PC game, the Core 2 can run circles around the Cell. Which is fastest? It depends on what they're doing. So it's impossible to make one "perfect" benchmarking tool, which compares CPU's "fairly", because there's no such thing as fair. No matter what workload you pick, it'll favor some CPU's, and put others at a disadvantage. -
perhaps inclued many benchmarks specific to certian CPU intensive apps ie gaming , raw performance , single threaded ECT and give individual scores and then averge them all aswell or add the scores all together so people can truly see how much of an effect the overclocking has (the test must be specifically for cpu with NO bottlenecks (or near to none)
-
eeh, why not bump it?
QBench, a DOS based CPU benchmarker
Discussion in 'Hardware Components and Aftermarket Upgrades' started by aan310, Jan 20, 2008.