Micro-benchmarks
(repeatable sections of code) can be useful but may not represent real-world behavior. Factors that can skew micro-benchmark performance include Java virtual machine warm-up time, and global code interactions.
Macro-benchmarks
(repeatable test sequences from the user point of view) test your system as actual end users will see it.