People write toy Java technology benchmarks all the time. Nearly always they "get it wrong" -- wrong in the sense that the code they write doesn't measure what they think it does. Oh, it measures something all right -- just not what they want. This session presents some common Java technology benchmarking pitfalls, demonstrating pieces of real, bad (and usually really bad) benchmarks, such as the following: SpecJVM98 209_db isn't a DB test; it's a bad string-sort test and indirectly a measure of the size of your TLBs and caches. SpecJAppServer2004 is a test of your DB and network speed, not your JVM™ machine. SpecJBB2000 isn't a middleware test; it's a perfect young-gen-only garbage collection test. The session is for any programmer who has tried to benchmark anything. It provides specific advice on how to benchmark, stumbling blocks to look out for, and real-world examples of how well-known benchmarks fail to actually measure what they intended to measure.
TeamStation AI System Report LATAM IT Salaries 2024
The Art of Java Benchmarking
1. A Lock-Free Hash Table
The Art of (Java)
Benchmarking
Dr. Cliff Click
Chief JVM Architect & Distinguished Engineer
blogs.azulsystems.com/cliff
Azul Systems
June 14, 2010
2. Benchmarking is Easy!!!
www.azulsystems.com
•
•
•
•
And Fun!!!
“My Java is faster than your C!!!”
And generally wrong...
Without exception every microbenchmark I've seen has
had serious flaws
─ Except those I've had a hand in correcting
• Serious =
─ “Score” is unrelated to intended measurement or
─ error bars exceed measured values