Lolbench: automagically and empirically discovering Rust performance regressions
11–20 of 42 posts
Re: Lolbench: automagically and empirically discovering Rust performance regressions
#12Earlier quoted context omitted.
Each benchmark result is only compared against values from running on literally the same machine, actually. I agree that good results here would be extremely difficult to produce on virtualized infra, so I rented a few cheap dedicated servers from Hetzner. I'm glad that I decided to pin results to a single machine, because even between these identically binned machines from Hetzner I saw 2-4% variance between them wh…
A suggestion: consider using callgrind to measure performance (instructions retired, cache misses, branch mispredictions, whatever) instead of wall clock time. It will be much slower per run, but since it will also be precise you shouldn't need to do multiple runs, and you should be able to run a bunch of different benchmarks concurrently without them interfering with each other or having anything else interfere with…
Re: Lolbench: automagically and empirically discovering Rust performance regressions
#13How long do we expect it to take before "automagically" completely replaces "automatically" in English?
I am guessing less than a decade to go now
Re: Lolbench: automagically and empirically discovering Rust performance regressions
#14Re: Lolbench: automagically and empirically discovering Rust performance regressions
#15Can I suggest you consider putting https://github.com/anp/lolbench/issues/1 in to the README.md file, so people can easily see where to look for some TODO items?
Re: Lolbench: automagically and empirically discovering Rust performance regressions
#16This project looks awesome, but as a complete aside: How long do we expect it to take before "automagically" completely replaces "automatically" in English? I am guessing less than a decade to go now
Re: Lolbench: automagically and empirically discovering Rust performance regressions
#17Is there any equivalent project for java.
Re: Lolbench: automagically and empirically discovering Rust performance regressions
#18How do you determine baseline load of the test machine in order to qualify the correctness of the benchmark? Assuming the compiling, and testing is done in the cloud how do you ensure the target platform (processor) doesn't change, and that you aren't being subjected to neighbors who are stealing RAM bandwidth, or CPU cache resources from your VM and impacting the results?
Each benchmark result is only compared against values from running on literally the same machine, actually. I agree that good results here would be extremely difficult to produce on virtualized infra, so I rented a few cheap dedicated servers from Hetzner. I'm glad that I decided to pin results to a single machine, because even between these identically binned machines from Hetzner I saw 2-4% variance between them wh…
Re: Lolbench: automagically and empirically discovering Rust performance regressions
#19Is there any equivalent project for java.
Java has a JIT, right? Seems more difficult to get consistent results.
https://www.ibm.com/developerworks/java/library/j-benchmark1...
https://www.ibm.com/developerworks/library/j-benchmark2/inde...
http://www.ellipticgroup.com/html/benchmarkingArticle.html
Java now ships with microbenchmarking helpers:
Re: Lolbench: automagically and empirically discovering Rust performance regressions
#20Earlier quoted context omitted.
Each benchmark result is only compared against values from running on literally the same machine, actually. I agree that good results here would be extremely difficult to produce on virtualized infra, so I rented a few cheap dedicated servers from Hetzner. I'm glad that I decided to pin results to a single machine, because even between these identically binned machines from Hetzner I saw 2-4% variance between them wh…
A suggestion: consider using callgrind to measure performance (instructions retired, cache misses, branch mispredictions, whatever) instead of wall clock time. It will be much slower per run, but since it will also be precise you shouldn't need to do multiple runs, and you should be able to run a bunch of different benchmarks concurrently without them interfering with each other or having anything else interfere with…