Slashdot Mirror


What Makes a Valid Benchmark?

An anonymous reader writes "Benchmarks can make a big difference if they are accurate in predicting performance. That's simple enough to describe; it's not nearly so simple to implement. Benchmarks can be an excellent tool for predicting performance and estimating requirements, but they also can be misleading, possibly catastrophically so. This article looks at benchmarks; the good, the bad and the ugly."

20 comments

  1. The Best Benchmarks Lead by Jherek+Carnelian · · Score: 3, Informative

    The best benchmarks are those that lead their respective industries.

    As manufacturers seek to maximize benchmark scores, they end up improving their products in ways that make the product more useful to the consumers.

    One example of a bad benchmark: For the longest time, cpu frequency has been a sort of benchmark easily understood by the buying public. But it was a very poor one, leading Intel to maximize cpu frequency at the cost of almost all else -- actual computational performance fell behind, power efficiency became even worse with chips becoming mini-furnaces.

  2. Proper funding. by Anonymous Coward · · Score: 0

    We can easily produce results in favor of your company provided you pay our staff's salary and my bonus.

  3. A valid benchmark is... by taskforce · · Score: 1

    Aside from the usual High School "Scientifically fair test" basic stuff: like for like testing with control options and keeping other non calculated factors constant, the best benchmark is the application you plan to run with the hardware, or very close. Nothing can tell you exactly how well it will perform except the actual app you are running, becuase now days setups are so complex and individual hardware and software components rely on so many different factors that it's easy to produce a test which looks like it might give a good gauge of performance in similar apps, but actually doesnt.

    --
    My 3D Texturing Skinning work (under construction)
    1. Re:A valid benchmark is... by NeilTheStupidHead · · Score: 1

      Yes, the real world is the only place that performance matters. If I date myself and go back to my first desktop and laptop I bought with my own money, I had a AMD 450 and an P166 respectively. Certain programs (like Firefox for example because i still both occasionally) load faster on the Pentium laptop, others the desktop. It's all about how the code is written and how it integrates with the hardware. With that said, the only real benckmark involves the software and other hardware you will be using. If we could all just buy five or six sets of hardware and return the five that don't do the job...

      --
      Lose: misplace or fail || Loose: not bound together
  4. The best benchmarks by Clockwurk · · Score: 4, Insightful

    are real world apps that your audience will be using. Whenever I read a review of a new CPU or graphics card, I always skip synthetic benchmarks (PCMark, 3Dmark, etc.) and go straight to the real world stuff like media encoding, and gaming benchmarks. Synthetic benchmarks tend to be little more than dick waving contests and have little bearing on the real world. If I see 4000 3Dmarks, its a meaningless number. If I see 58 fps in F.E.A.R. or 45 seconds in Photoshop, I immediately have a decent idea of how the computer is going to perform in real world use.

    1. Re:The best benchmarks by OECD · · Score: 1

      are real world apps that your audience will be using

      Wish I had mod points, that's +5 insightful.

      The short answer to this (and any process question, really) is: ask the next guy down the line. If you're a designer, ask the prepress guy what he wants. If you're prepress, ask the pressman. Rinse, repeat.

      If you're a developer, ask the fscking user. Your gaussian blur might be teh shit, but if your app takes five minutes to load, nobody's going to bother with it.

      --
      One man's -1 Flamebait is another man's +5 Funny.
    2. Re:The best benchmarks by Anonymous Coward · · Score: 2, Interesting

      are real world apps that your audience will be using.

      Interesting, but metrics such as FPS and time to render a frame are equally meaningless for lots of other reasons. For example, you can "cheat" a real-world benchmark by changing the way some routines are drawn. Heck, some graphics cards makers have been known to optimize their code for a particular game or testing routine. A while back some tests would measure the time it took to run a particular Photoshop filters. This was also vulnerable to cheats because you could optimize that particular routine or *specific test* to look good in comparison.

      Today we were testing an Oracle data mirror transfer from an older Sun system to a newer pSeries AIX box. The bottleneck first appeared to be the network, then possibly the older Sun's CPUs. After tweaking the system (by spinning off more dmirror processes) we realized that the bottleneck was in fact the newer AIX machine since it was pegging the two CPUs it had. This was reverse to what was the original assumption that the old Sun box was hampering the transfer. Look at the real-world benchmark and it would appear that the Sun machine was slower because that version of dmirror is single-threaded and didn't utilize the other CPUs; thus in an isolated throughput comparison on real data, the AIX machine came out ahead.

      What I'm getting at is that no benchmark, synthetic or real-world, is all that useful until you test the actual workload.

    3. Re:The best benchmarks by Golthar · · Score: 1

      I agree and this is also my experience creating enterprise applications.

      Whenever I need to benchmark databases or enterprise applications I use the same method.
      Often you start by taking a sample of the average useage (if the system is not live yet you need to come up with different user scenario's that will be most likely used) and mimic the load based on that. My metric would be in user sessions per minute/hour/day
      Different parts of the industry but it is a good method
      Surely I could also go and insert, select, update and remove the same data in the database a few million times and find a certain figure (like a PCMark or 3DMark would do) but I'd most likely end up testing the database caching and find my application burning down in production because the benchmark never tested things like transactions or actual datasets which are closer to the real workload.

      The point of a benchmark is to create a repeatable testmethod which yields a result you can then use to compare different systems with (in my case I could be comparing different hardware or different methods of retrieving data)
      Synthetic benchmarks do that too, but the results are meaningless especially when your vendor optimizes for them.

    4. Re:The best benchmarks by Emetophobe · · Score: 1

      I look at benchmarks the same way. The only thing that is important to me is how the cpu/video card/[insert hardware] performs in real world situations. I'm a gamer so I tend to look at real game benchmarks and avoid crap like 3Dmarks. The people that tweak their systems every last bit so they can get an extra 100 score in 3dmarks are just dick-wavers IMO.

  5. Speaking of ugly... by SanityInAnarchy · · Score: 1

    Let's not forget the "optimizations" that both ATI and nVidia engaged in. The ones where you'd take quake3.exe and rename it quack3.exe and your framerate would suddenly drop by 20fps. You see, Quake 3 was the defacto benchmark of the era...

    Interestingly, despite this special treatment, the game ran better under Wine, and still better as a native Linux program.

    --
    Don't thank God, thank a doctor!
    1. Re:Speaking of ugly... by aquabat · · Score: 1

      What was really cool about that hack was that you could rename any other game to "quake3.exe", and it would run 20 fps faster.

      --
      A republic cannot succeed till it contains a certain body of men imbued with the principles of justice and honour.
  6. an invalid benchmark by Anonymous Coward · · Score: 0

    "Offer valid in the US states and territories except where prohibited by law. Void in connecticut."

    #ifdef USA
    #ifdef CONNECTICUT
    void benchmark(int throwaway);
    #else
    int benchmark(int inputdata);
    #endif
    #endif

  7. Three things. by aquabat · · Score: 2, Insightful
    Scope, repeatability and transparency.

    Scope means defining clearly and specifically what your benchmark measures and what it does not measure.

    Repeatability means being able to run the benchmark many times under the same conditions and getting statistically consistent results.

    Transparency means having the details of the mechanics of the benchmark, so that the results can be completely analyzed and understood.

    --
    A republic cannot succeed till it contains a certain body of men imbued with the principles of justice and honour.
  8. Apples and Oranges by Jzor · · Score: 3, Interesting

    This reminds me of a comparison I saw in Circuit City once... (Warning: I'm not going to talk about a computer hardware benchmark.) They were trying to sell the insanely expensive Monster video cables by comparing the Monster cables to standard cables on identical TV's. The screen with the monster cables looks hella better than the other monitor. The difference was so astounding that I just had to look at the back of the TV... The Monster TV was hooked up with an HDMI cable..... The other a FRIGGIN UNSHIELDED COMPOSITE VIDEO CABLE. Apples and oranges, apples and oranges...

  9. doubling times are slow for Desktop Sytems by 80+85+83+83+89+33 · · Score: 1

    it has taken almost five years to double performance on the SysMark 2004 SE Office Productivity: CPUs are just now doubling the 2.0GHz P4 from 2001!!!!!!!!

    i tracked Content Creation Winstone 2000 scores up until the first P4s came out, and scores were taking about 30 months (two and a half years) to double.

    Mathmatica 5.x doubling time? about 27 months.

    --
    i disable sigs
    1. Re:doubling times are slow for Desktop Sytems by NeilTheStupidHead · · Score: 2, Funny

      Everyone knows that to get a real increase in performance, you need to paint the case red and put a big flame decal on the side. And fins, lots of fins to reduce drag.

      --
      Lose: misplace or fail || Loose: not bound together
    2. Re:doubling times are slow for Desktop Sytems by Some_Llama · · Score: 1

      Don't forget the R-type sticker...

  10. The Best Benchmark of All by TwilightSentry · · Score: 2, Funny

    Why, everyone knows that the only valid benchmark is bogomips!!!

    --
    How to enable garbage collection on a system without protected memory: #define malloc() ((void *) rand())
  11. Benchmarks are great for marketing... by WoTG · · Score: 1

    As long as your piece of hardware is faster in some subset of some test in some benchmark, you'll be able to advertise "xx% faster". It's not limited to computer gear either, every car is "best" in this or "first" in that...

  12. The best benchmark... by Anonymous Coward · · Score: 0

    ...is in my pants.