Examining Benchmarking
VL writes "Benchmarks exist to determine how a particular piece of hardware performs in relation to itself, and to others. Question is, are readers getting the information they really need?"
← Back to Stories (view on slashdot.org)
studies and benchmarks are so often biased. it's hard to get a study that isn't. follow the money trail --- sponsor of the study
no big sig
Not everybody needs it offcourse but if the user want to know that what he bought or want to buy worth the money or even decide between two pieces of hardware then sure.. the better and percise the test its easier to make a decision.
Dont just mail it - Maileet
Yes... just ask Nvidia and the will provide any information you need :)
I want to know the difference in speed between a dual G5 and a Quad UltraII Sun U80 when compiling Linux targetted to X86.
I don't care if one can get 900fps in Unreal Tournament while the other can only get 880.
As for bias, did you know that my Timex Sinclair is the best computer there that has ever been made or will ever be made? The salesman said so, so it must be true.
You can't judge a book by the way it wears its hair.
Or isnt the topic interesting enough... Im used to see 50 replies in a minute but its been 5 minutes now and only 6 replies on most of them -1 rated. Maybe this topic should go else where?
Dont just mail it - Maileet
Benchmarks are inherently flawed for the reasons stated in the posts. Comparing hardware to itself and similar hardware means there's no external reference point. Comparing one thing to another is okay, but you can't get absolute numbers in a closed Platonic system.
Goedel's Incompleteness Theorem states that you can't define a system entirely in its own terms, and that any system needs to be defined by terms outside of it.
So, how can you accurately rate hardware based on similar hardware? To meet the GIT (Goedel's Incompleteness Theorem), you would need to compare the hardware with something outside of the system, so you have an external reference point. For example, if you're benchmarking graphics cards, you need to also compare them to something outside of that area of hardware.. so.. say, a graphics tablet, or an iPod.
So, say that the first graphics card is 0.7% compared to the iPod, we now have an external reference to use with the other graphics cards.. so a better card might be 10% compared with the iPod, or a few percent compared to the graphics tablet, which proves that the second card is better than the first, due to the respective ratings compared to the external objects.
This is just regular math. I have to say, it's pretty amazing what you can apply regular math to.. yes, even benchmarks!
that said, people should demand accurate/unbiased benchmarking becuase of all budding nerdlings who end up with junk in there system and helping some bloated crap company stay on top
the whole unbiased thing: i personally have a VERY hard time believing almost any scientific study (be it benchmarking or dieting) to be unbiased... whether or not there may be a large commercial company behind the bias or not.
This post was brought to you by the number 584811 and the characters / and .
Do it in secret with home made tools.
As for benchmarking results posted by benchmarking companies and sites. Well they have to eat too
Second problem are known tools, leads to driver tampering, ok that's not related with food on the table of benchmarkers
Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
Benchmarks are all too often slanted with the drivers they're done with or by the person performing the benchmark. I wouldn't go so far as to say it's completely unreliable, but people should be aware that it isn't infalliable.
--fetch daddy's blue fright wig, i must be handsome when i release my rage
It all depends on the range of excercise-able aspects of some hardware a particular benchmarking suite excercices. That's why you prefer a suite rather than a stand-alone benchmark. For instance, Top500.org ranks HPC machine according to LINPACK, for which the ES (earth simulator) of course does well due its vectorization capabilities.
So, if you want to know about your hardware, you better run more than one benchmark, and more importantly, your 'problem code'. Yes, you want hardware that performs well for you problem. Something that can be good in general, is ratrher rare.
There is a comment in the article that we buy video cards to play games. This i agree is true for most, but they should at least make a mention to those who do high end 3d rendering and programming. For these individuals use their card to put out some of the most amazing images in computer history. FOr these people frame rates are not iportatn, it is render times, which even on the best cards in the best system , for complex effects can take hours.
Tragek
Benchmarks are for fulls. Only TAO (the way) matters. My favorite computer is SGI O2, terribly old. It takes 10 minutes for it to load Quake2. And still, it's much more lovable. I can even add that I always loved and used only ATI cards, though very bad support policy, buggy drivers and horrible X support (before XFree 4 I mean). Why? Because I love how they look like.
My favorite computers haven't been the fastest. In fact, I've been the most productive on systems that were objectively less impressive.
My favorite Operating Systems haven't been the ones with the best selection of software.
My favorite games haven't been the ones with the best graphics.
The reviews I find most valuable don't have the most complete set of numbers of why something's the best or worst.
It's interesting that the goal of benchmarks is to be objective as possible, when it's the subjective that makes me want to buy or not buy something. But meanwhile the more the objectivity of the benchmark tests are in doubt, the less important the tests become. So I guess that means benchmarks don't mean anything to me one way or the other, huh?
Alex.
Sure, there are people who love posting benchmarks of their systems, but surely the real test of a system is not how it handles one specific cycled demo. It's whether or not it handles the games you want to play and if you're happy with the performance of your system as you're blowing the crap out of whatever 3D menace is threatening the world, don't start worrying over a few frames per second.
When I was performed photographic quality control, I ahd a reference platform and true statistically valid performance data to base any decisions on. Unfortunately hardware sites don't exactly do the same thing. They use different hardware (usually provided by the vendor or a reseller looking for a plug), and everything becomes a variable. What I was taught about analyzing anything was to eliminate variables. Most benchmarks will work as long as you create your own reference platform, specify everything used in excruiating detail (driver version, etc.) And also place a disclaimer that the test is only good based on your hardware and setup. When I read a benchmark, I use it as only a guide. I do not take the numbers literally since I cannot reproduce the test. And that is where the problem lies in hardware site benchmarking. Anyone should be able to get the specific hardware mentioned, assemble it, install the OS and run the benchmarks and get similar results. My money is they won't because of "tweaked" drivers, benchmark program versions, or hardware, software, or OS settings that do not make it into the documentation or the column for the site. The only benchmarks I pay any serious attention to is SPECInt and SPECf, because there has to be full disclosure of all options used before SPEC will approve of it.
The problem is as a benchmark becomes widespread and respected, the incentive to cheat the mark increases at a much greater rate.
For less widely used benchmarks, its possible to do one offs in the lab and include the false results in the marketing material. The primary examples of this are spec, drhystone, and whetstone. For awhile Intels compilers had recognition routines just for these benchmarks. Apple has always done tuned versions of the benchmarks.
Once a benchmark gets into the wild and is in a form that anyone with a website can just load without too much trouble on a machine, you get manufacturers actively moving to cheat the benchmark. Best examples are Nvidia and ATI's optimizations that are specific to 3dmark and quake III.
I don't know of anyone who would buy a piece of hardware solely on a benchmark, However salesmen when they can't sell are without peer in inventing excuses and shifting blame. So as long as you have sales goals that are unrealistic and salespeople that are good at inventing excuses, you will have engineering departments forced to cheat the benchmarks.
Its true money changes everything.
My issue with benchmarking is this... When people read benchmarks, aside from the bias occurring with someone using a favored product, people will often have to take benchmarking as nothing more than an indicator for the following reasons: People will not have access to all the equipment used in a benchmark trial, hardware/software, so they're often going to have to rely on someone else's OBSERVATION. Information can be tweaked easily, and someone who has say a favored product can often tweak it to perform better than the competition, or make the competition's product behave worse.
Also as stated on an above post, who is sponsoring the benchmark testing, and why. Often you will see that %99.99999 of the companies sponsoring benchmarking tests come out with gleaming reviews. Has anyone here seen an MS sponsored test prove unfavorable to MS. It just doesn't happen. Independent studies should post all information concerning why they're doing benchmark tests including any sponsors, this way those reading the published results can get an overall VIEW of the results and use them as nothing more than in indicator and not solid fact.
MoFscker
And that's the only way to look at it. I use photoshop more often than anything else, and as long as a machine can run it well then it's passed my benchmarking tests just fine.
When it comes pointless is when a single simple benchmark is taken alone. If that were the case then a machine like a 1GHz G4 would own everything else looking at just RC5-72 benchmarks. 10 million keys/sec? no problem, quicker than any other machine like it on the market.
Look at that as just one benchmark among dozens and you form a better picture, that the G4 has a vector unit that performs exceptionally well, and you can get an idea how the rest of it performs.
Add up enough of those simple numeric benchmarks and all you get is one huge mess in mind with no REAL idea of how a machine will perform other than theoretically. Best combine them all together and go back to running the app(s) you're likely to use most.
At least not this reader.
Here's the problem: I don't really want to put together any more systems - at least, not from scratch. My time is worth more now, and the savings from DIY are worth less.
But neither do I want to buy (or recommend) a system that's a stiff: one that uses an unreliable motherboard, or an older chipset, or flakey power supplies.
The site I need would:
- take the systems sold by everybody from Wal-mart, Dell, HP, etc
- find out what components they contain
- then use the review data from places like Tom's Hardware
- Pass judgement and explain why
For example, they might say something like "The Dell Excavator uses an obsolete chipset. For $10 more, buy the E-Machine X321 - but beware the reliability."
The bottom line is that you really can't put much trust in benchmarks. Well... Thats not exactly true, but think - of those games and apps that you always see the same people run over and over again, how many of those do you use on a daily basis? Personally, i've read so many reviews that I don't even have to think about what a pixel shader is anymore, so it probably will come as no suprize that I skip through the mumbo jumbo they tell you about the card and go straight to the benchies. And its always the same ones.
Thats all well and good, and I guess it gives you a VERY generic view at how those particular things work, but how about real life performance? How about a screenshot in the HL mod Natural Selection when there are 15 turrets firing at bile bombing aliens with the show_fps set to 1? Can we get something like that? I guess that would consitute in there with fill rate, and before you tell me thats an arcane game. Let me direct you to the little X on the top right of your browser. I don't care.
You can get a very good idea about the speed of a card, but you have no idea what the card will have trouble with until you load up your copy of Star Wars : Pod Racer just to be greeted by a big white screen when the race starts. Thats one thing I really miss about 3dfx. Thier cards worked. Always. Well, at least they did at the time.
... on mainframes in the old days. The idea of a benchmark is to determine how your workload will perform on a given platform. The key here is "your workload". Using synthetic benchmarks is a great way to determine relative performance, if your workload is running synthethic benchmarks. For most people this isn't the case.
The problem is that every workload will have a different I/O and instruction mix. Each instruction has a different execution time, and the performance of I/O devices is frequently a function of the access patterns to data.
As a result, a synthetic benchamrk may be a poor indicator of the result from the actual execution of your individual workload. These benchmarks are intended to provide guidance, and potentially identify platform performance bottlenecks. That's all. Reading any more into them is the fault of those that use the results improperly.
Can You Say Linux? I Knew That You Could.
What matters is how much stuff you can draw per frame time, not how many times you can redraw it during a single frame time. 3D benchmarks should gradually increase the scene complexity until the frame rate drops. Often, there's a huge performance drop when the onboard memory of the graphics board fills up. Running old games at huge frame rates won't show that.
Scene complexity is the limiting factor for game developers. Artists are always saying "I need a bigger poly budget". If benchmarks focused on scene complexity, we'd have gigabyte graphics boards, and "wow, you can see every eyelash" scene complexity.
We also need more intensity depth in graphics boards, to clean up that murky look so typical of games. Rendering really should be done into at least 16 bits of intensity, then sent to the screen through a film-like gamma conversion. That's how it's done in offline renderers for film.
I am not as interested in benchmarks as I am interested if my harware will work well with my software. If I buy a video card, will it run my apps? Perhaps some of these review sites should take the 10 most popular applications, like games, a compiler, database, etc... and tell you if your hardware will run it without hangups or hiccups.
The other bad thing about benchmarks is you will probably not have the same motherboard/ram/cpu as the test system.
Rosco: "If brains were gunpowder, Enos couldn't blow his nose."
I think the writer made very relevant points. Generally the universe expands faster than our own speed, and so we never get to the edge of the universe. But in the world of technology, sometimes technology grows faster than the real world it is supposed to inhabit, and so the real world gets left behind ... The writer has identified just such a crossover, and hence his call to update benchmarks is very valid ...
But I would like to add another dimension and that is the eye of the beholder ... If all the person is looking at the benchmarks for, is to quickly sell it to his unsophisticated boss, or another unsophisticated boss who will get his employees to use it, then what he needs are simple and clear cut benchmarks - and more important, time tested benchmarks. Generally the powers-to-be with the moolah do not like the messiness that inherently comes with trying to "realify" the models .... From my experience this is not how it should be, but I have found this is how it is ....
I am not saying that the writer was in anyway wrong .. just that he must also look at the consumer of his benchamrks ... is it someone who is going to use the technology him/her self or is someone who is going to sell a technology to someone who will have someone else use the technology ....
To see a world in a grain of sand, and then to step back and see the beach where the sand lies
1. Aquire your piece of test equipment (video card, motherboard, tower case)
2. Hold the equipment 3 to 5 feet above the bench surface
3. Release. Gravity will take care of the test
4. Measure the mark left in the bench by the equipment. Bigger mark = better equipment.
the best benchmarks are those provided by your favourite game. UT2003 is an example frequently cited (and used) since the it comes with a series of benchmark tests (fly-by and botmatch) built in. That is the information I value the most, since after all I don't really need to play 3DMark-Wildlife as smooth as possible, but the games I play. I hope software developers follow the trend.
Hack your mind out of its sandbox.
One of the key things in Godel's conception is that there are certain truths, i.e. for example that the math on earth and the math on mars will have something similar to prime numbers, etc.. That is why the two maths created on earth and mars, where certain common symbols are used in both the earth-maths and mars-math, have some similarities. The similarity is not that they are using some of the same symbols, but that they using math to describe the same reality ...
the equivalent of the benchmarks definition is to split it in two views .... one is that of the benchmarks writer, and the second of the benchmark consumer. If the "realities" of both of them are same, then the benchmark consumer will be able to extract the "correct" meaning from that what has been put in the benchmark by the writer ....
If the realites are not the same, the transmission of meaning from the writer to the consumer will not take place correctly ...
So, the point is not to compare the card with another external device for anchoring, but to compare the "report required by the consumer" to the "report prepared by the writer."
Because of so many different requirements and writers, the task of writing benchmarks is like 'mass customization." The ultimate answer is to take some input from the benchmark consumer, and use that in creating a "number" for that benchmark .... or simply, as someone said ... to each his/her own ...
To see a world in a grain of sand, and then to step back and see the beach where the sand lies
The article misses a major part of video card market. Most people don't buy video cards soley based on what games they can play. Otherwise, everyone's card would be out of date in less than a year. People buy video cards and other computer hardware based on not only what it can do in the present, but what it will be able to do in the future. Most people can't afford to buy a new video card every month. And for those people, looking at a benchmark will give them some idea of the advantages of different pieces of hardware in conjunction with software that hasn't been developed yet.
-- Political fascism requires a Fuhrer.
What about sound cards? These should be discussed more than anything since most benchmarks are useless... They usually compare latency, which is possible the worst way to compare sound cards... and also midi features and surround features, which many people dont even use.. and 3d quality, which is required in a test, but not the main aspect
what they should compare the most is the sound quality, this i find very lacking in sound card benchmarks... such things as Signal/Noise ratio, frequency response, bass/treble controls, etc...
pcavtech does a good job of this, too bad more sites don't do something like this..
but the site did get the right point, speed is not everything, quality counts for much..
Marge, get me your address book, 4 beers, and my conversation hat.
...because, oh boy, doesn't it make a lot fairly sweeping declarations without substantiation. It put just enough graphs to look credible, and then never actually showed any proof of their premise.
They never actually showed how the Kyro II actually "out-performed" the GF2 in real life applications.
I could just say that I don't believe there's people being killed in Iraq, it's all a goverment conspiracy. If I had no proof, I *should* be laughed out of town.
Synthetic benchmarks are not *inheriently* bad. As long as the benchmark is not being skewed somehow (cheats, ignorance, mistakes) there's no reason not to use them as a guidline for performance. If you can *also* do real life testing, that's even better, there's more information to infer performance from.
The benchmark "3D Mark 2001SE" is not even a current benchmark. One of the main premises of the 3D Mark series tests is the fact that it is testing graphical items that are not yet *in* games. IIRC, they program in the latest wizbangs that graphics cards are putting in their hardware. So it is an estimation of "future" performance.
Their estimate is better than running current games that don't even test those future features. Their accuracy is not as great as actualy testing with games that will come out in two/three years (they can not and do not expect to replicate all programming tricks that the entire industry will come up with to cludge around some weird problem.)
In short, this article is slanted and bunk. They make sweeping inclusions and fail to back it up with hard data, misinterpet "synthetic benchmarks".
If I was a suspicious person, I'd guess they were hired to debunk 3D FutureMark and thier ilk as spurious testing methodology.
If they aren't, I'll apologize.
It's just bad reporting then.
Arthur Hansen
No! It's a *SIG*. Keep the Special Interest Groups away! (Con joke!)
This might sound like I am stating the bloody obvious, but it's true. I think there are several facets to good benchmarking (based on my own experiences and reading other reports)....
1, Choose a test/workload that is representative of what *you* will be doing. There is no point in looking at SPECINT200 if you are going to be running an I/O intensive application like a RDBMS. Try and run or study tests that are relevant to the intended use of the system/component you are benchmarking.
2, Take note of things like compiler flags etc. These are important in tests like SPEC, as your results can vary wildly according to things like optimisation level. Some compilers produce faster code on certain CPU families and not on others. This is a reason why a lot of vendors will build their own compilers and test with them (e.g. SGI, SUN, DECPAQ).
3, Look at the full disclosure notice in the benchmarks. Take a look at the system configuration used. This is particularly, IMHO, on tests like TPC-C. The score you see might be based on a really whacky config, like most of the figures at the top of the list. For example, look at the Proliant figure (709k) and look at the config: 32 x 8 way servers to run a single database. Then compare it to a 64-way SuperDome or 32-way p690. Which comfig makes more sense? For a database, I would likely go with the single system for simplicity's sake. On another application, maybe the cluster would make sense.
4, Compare apples to apples. This is the hardest part, as CPU's, OS's, I/O, Apps. Compilers etc etc all vary across platforms. I like to to try and compare one variable if possible. To take the TPC-C again, I try to compare DB against DB, Cluster against Cluster, SMP against SMP etc etc. There is nothing to be gained, IMHO, from comparing MS-SQL server in a cluster on Xeon with Win2k3 to Sybase on a SF15k running SPARC Solaris. How do you properly compare these two results? Maybe the solution would be to look at SQLServer on one system against another or Sybase vs Oracle on a similar Unix system.
5, YMMV. Benchmarks are only ever an indicator of performance, not a guarantee. I tell my customers this all the time. They represent a result with a particular system, data set, O/S, tuning settings etc etc at a point in time. Other people's results with a similar config might differ considerably.
I could go on forever, but the above are my 2c
I don't know.. The higher the 2001SE score, the higher the FPS in a game, typically. That is, unless someone's drivers are cheating.
He didn't even mention 3DMark2003, which does a more comprehensive job testing modern GPU features and is included on any benchmarks of 'modern' (aka DX9 supported) cards.
Think about it, in 2000 when they were working on the 3dmark 2001, directx8.1 wasn't even done; to my knowledge, most of DX8 wasn't even used in 3dmark 2001se.. Since then, cards came out with tons of new feature sets (directx9, AGP 8X, etc) and there was simply a lag time between good benchmarking software.
Now, I do agree with charting performance over time. This would be much more handy when doing comparisons of AMD and Inel processors. I get the same over-all frame rate with my AMD 2400 as an Intel @ ~2.6gig. But, the Intel w/ a faster bus will likely not be getting those split second ticks where the AMD is 100% occupied or the FSB is flooded.
I'm not knocking AMD at all. I can just tell a difference in the overall smoothness of a CPU intensive game. When I bought mine, I spent about 3/4 of what I would have spent on an Inel rig and got around 3/4 of the performance.
It all works out once you stop paying attention to a marketing department. People always say you can't trust advertising, but act so suprised when a company is exposed for making a false claim of some minor sort.
you get what you pay for.
Also, instead of complaining about poor benchmarks in real-world situations, you should write the various game developers and request they add, or consider adding, a benchmark to their game engines. Having to 'devise' a way to test game performance probably isn't going to result in wide-spread adoption of that particular benchmark. ID Software's engines have always come with built-in benchmarks (timedemo), thus making them very easy to test. That's why you always see the games that use ID's engines in benchmarks.
That brings me to my final point, he mentions that StarWars game should be tested instead of Q3, yet it uses the same engine. Sorry, more copies of Q3 exist, and since any game using that engine doesn't bring anything new to the table, might as well stick with it. eh?
'nuff said.
Modification of the front side bus speed is now a fairly trivial affair, it can be done by software whilst the system is running. Increasing it by 2% is very unlikely to cause the system to fail, but will give you a few dollars more on your benchmark result.
Various BIOS settings are also able to be changed on the fly, checking all these values whilst the benchmark is running will alter the results of the benchmark, but the difference they can make requires any true benchmarker to monitor them...
There's Lies, there's damn Lies and finally there are benchmarks.
Robert
Benchmark v. trans. To subject (a system) to a series of tests in order to obtain prearranged results not available on competitive systems. -- Stan Kelly-Bootle, "The Computer Contradictionary"
Edelstein's First Law of Benchmarks: Every commercial product has its best performance on standard benchmarks.
Edelstein's Corollary: If the system you wanted to win didn't, the benchmark wasn't fair.
"There are already a million monkeys on a million typewriters, and Usenet is NOTHING like Shakespeare." - Blair Houghton
You're benchmarking a piece of hardware against itself?
That should prove to be an interesting technical comparison.
"We were surprised when Hardware A managed to score a 975 on the TurboMaxQuad Doohickey test, but we were shocked when Hardware A blasted out of the gates and scored a whopping 975 on the TurboMaxQuad Doohickey test..."
So should I use Quake to benchmark? Its popular and many people allready use it as their gauge of performance. But there was also mention of drivers that recognize the executable itself and tweak operations. These tweaks won't apply when I say, play Half-Life, when I should expect some sort of correlation in performance between the two.
I Browse at +4 Flamebait
Open Source Sysadmin
It seems rather obvious that we need a paradigm shift in the way we benchmark our hardware. I like benchmarks of things I actually do with me computer. For example, the time it takes a setup to encode an mp3 or svcd file. Some people are using benchmarks like these, but there is no readily available program suite that benchmarks your system using these real life scenarios. Sure, I could do them myself, but I wouldn't know how my system performs to other systems if there isn't a standard benchmark.
Hint is designed to fulfill the following goals.
As most other benchmarks fulfill none of the design goals above, almost all benchmarks are nearly useless.
What is HINT?ah ah me maties ye have been trolled
Here's a nice example of how benchmarking can give non-applicable "information":
Say one's got a system that acts as a file-server, NAS, or something, and one backs-it-up using DVD-RW's, and one's victi^H^H^H^H^H users complain about the system being intermittently hammered, whenever you're doing the backup, calling-up some program to tell you how many context-switches are happening would show you that when you've got the DVD-RW loopbacked, and are diffing ( niced to 19 ) the ISO with the DVD-RW, you're sustaining more than 5000 context-switches / second...
Benchmarks don't usually context-switch between multiple programs that way ( or at least I've never 'eard of such ), so one's OWN benchmarks HAVE to include all the strange things one's own tools do, AND one has to actually check what one's tools actually do, to know what to check for/with...
( good rule, that: Check What Is, Rather Than What Is "Known". )
A dual-CPU'd be better for this case, obvaneously, but ..
.. as for why I said DVD-RW rather than DVD-R? organic-dyes die MUCH quicker than eutetic metal's crystallization-pattern, so DVD-R's I consider less long-term reliable ( organic-dye ) than the -RW +RW type discs, which record the information in the crystallization ( annealling is blanking, I gather ) of the metal-layer. More expensive, sure, but if it isn't going to rot on me data...
I'd dearly like to see a benchmark-suite that tested each "corner" condition it could, gave one a chart showing systematically the results, gave one a comparison-graph comparing the current system to the best/worst in comparable-systems for that test, and encouraged clear knowledge of what the corner-cases are, as well as the balances/interrelationships...
... instead of these damn "benchmarks" that show how well a system will perform .. synthetic-benchmark-99, which isn't particularly useful. iometer-runs, bonnie++, for streaming-media I suppose hdparm -t, diffing a pair of ISO images ( does the context-switching happen only when one is a loopbacked ISO and the other's on a SCSI device? hmm.. ), discovering what the actual hdparm and smartctl settings are on that drive ( just because one told a setting to be set doesn't mean it actually got set, eh? )... systematicness & rigour..
Happy Happy Joy Joy!!
Messages to/for me ( in me journal )