[ https://issues.apache.org/jira/browse/ARROW-6098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wes McKinney closed ARROW-6098. ------------------------------- Resolution: Not A Problem Got it, thanks > [C++] Partially mitigating CPU scaling effects in benchmarks > ------------------------------------------------------------ > > Key: ARROW-6098 > URL: https://issues.apache.org/jira/browse/ARROW-6098 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ > Reporter: Wes McKinney > Priority: Major > > We have a lot of benchmarks that return results based on a single iteration > {code} > (arrow-3.7) 10:46 ~/code/arrow/cpp/build (master)$ > ./release/arrow-builder-benchmark --benchmark_filter=Dict > 2019-08-01 10:46:03 > Running ./release/arrow-builder-benchmark > Run on (12 X 4400 MHz CPU s) > CPU Caches: > L1 Data 32K (x6) > L1 Instruction 32K (x6) > L2 Unified 256K (x6) > L3 Unified 12288K (x1) > ***WARNING*** CPU scaling is enabled, the benchmark real time measurements > may be noisy and will incur extra overhead. > --------------------------------------------------------------------------- > Benchmark Time CPU Iterations > --------------------------------------------------------------------------- > BuildInt64DictionaryArrayRandom 622889286 ns 622864485 ns 1 > 411.004MB/s > BuildInt64DictionaryArraySequential 546764048 ns 545992395 ns 1 > 468.871MB/s > BuildInt64DictionaryArraySimilar 737759293 ns 737696850 ns 1 > 347.026MB/s > BuildStringDictionaryArray 985433473 ns 985363901 ns 1 > 346.608MB/s > (arrow-3.7) 10:46 ~/code/arrow/cpp/build (master)$ > ./release/arrow-builder-benchmark --benchmark_filter=Dict > 2019-08-01 10:46:09 > Running ./release/arrow-builder-benchmark > Run on (12 X 4400 MHz CPU s) > CPU Caches: > L1 Data 32K (x6) > L1 Instruction 32K (x6) > L2 Unified 256K (x6) > L3 Unified 12288K (x1) > ***WARNING*** CPU scaling is enabled, the benchmark real time measurements > may be noisy and will incur extra overhead. > --------------------------------------------------------------------------- > Benchmark Time CPU Iterations > --------------------------------------------------------------------------- > BuildInt64DictionaryArrayRandom 527063570 ns 527044023 ns 1 > 485.728MB/s > BuildInt64DictionaryArraySequential 566285427 ns 566270336 ns 1 > 452.081MB/s > BuildInt64DictionaryArraySimilar 762954193 ns 762332297 ns 1 > 335.812MB/s > BuildStringDictionaryArray 991095766 ns 991018875 ns 1 > 344.63MB/s > {code} > I'm sure the result here is being heavily affected by CPU scaling but I think > we can mitigate the impact of CPU scaling by using the `MinTime`. I find that > adding `MinTime(1.0)` to these particular benchmarks makes them more > consistent -- This message was sent by Atlassian JIRA (v7.6.14#76016)