4 ms·
Appendix A is a thoughtful checklist for anyone doing benchmarks: • Choosing your Benchmarks. □ Benchmark covers whole evaluation space □ Justify picking
by eatonphil 3y ago
Appendix A is a thoughtful checklist for anyone doing benchmarks:
• Choosing your Benchmarks.
□ Benchmark covers whole evaluation space
□ Justify picking benchmark subset
□ Benchmark stresses functionality in the evaluation space
• Reproducible. Available shall be:
□ Hardware configuration
□ DBMS parameters and version
□ Source code or binary files
□ Data, schema & queries
• Optimization.
□ Compilation flags
□ System parameters
• Apples vs Apples.
□ Similar functionality
□ Equivalent workload
• Comparable tuning.
□ Different data
□ Various workloads
• Cold/warm/hot runs.
□ Differentiate between cold and hot runs
□ Cold runs: Flush OS and CPU caches
□ Hot runs: Ignore initial runs
• Preprocessing.
□ Ensure preprocessing is the same between systems
□ Be aware of automatic index creation
• Ensure correctness.
□ Verify results
□ Test different data sets
□ Corner cases work
• Collecting Results.
□ Do several runs to reduce interference
□ Check standard deviation for multiple runs
□ Report robust metrics (e.g., median and confidence intervals)
- zX41ZdbW 3y agoIt's interesting that the list reads as a recipe for ClickBench. Although I didn't read the article, so it is just a coincidence.
- eatonphil 3y agoMaybe ClickBench followed it! This paper was in 2018 and ClickBench was published last year. https://news.ycombinator.com/item?id=32084571 https://news.ycombinator.com/item?id=32084571