TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Lolbench: automagically and empirically discovering Rust performance regressions

199 pointsby anpover 6 years ago

10 comments

MikeHolmanover 6 years ago
Do you do have any plans to better distinguish between noise and regressions? I run a similar performance testing infrastructure for Chakra, and found that comparing against the previous run makes the results noisy. That means more manual review of results, which gets old fast.<p>What I do now is run a script that averages results from the preceding 10 runs and compares that to the average of the following 5 runs to see if the regression is consistent or anomalous. If the regression is consistent, then the script automatically files a bug in our tracker.<p>There is still some noise in the results, but it cuts down on those one-off issues.
评论 #18118501 未加载
评论 #18118315 未加载
chriswarboover 6 years ago
For those wanting to do similar tracking of benchmarks across commits, I&#x27;ve found Airspeed Velocity to be quite nice ( <a href="https:&#x2F;&#x2F;readthedocs.org&#x2F;projects&#x2F;asv" rel="nofollow">https:&#x2F;&#x2F;readthedocs.org&#x2F;projects&#x2F;asv</a> ). It allows (but doesn&#x27;t require) benchmarks to be kept separate to the project&#x27;s repo, can track different configurations separately (e.g. using alternative compilers, dependencies, flags, etc.), keeps results from different machines separated, generates JSON data and HTML reports, performs step detection to find regressions, etc.<p>It was intended for use with Python (virtualenv or anaconda), but I created a plugin ( <a href="http:&#x2F;&#x2F;chriswarbo.net&#x2F;projects&#x2F;nixos&#x2F;asv_benchmarking.html" rel="nofollow">http:&#x2F;&#x2F;chriswarbo.net&#x2F;projects&#x2F;nixos&#x2F;asv_benchmarking.html</a> ) which allows using Nix instead, so we can provide any commands&#x2F;tools&#x2F;build-products we like in the benchmarking environment (so far I&#x27;ve used it successfully with projects written in Racket and Haskell).
anpover 6 years ago
hi! author here if you want to ask questions or (nicely pls) let me know where I&#x27;ve made mistakes!
valarauca1over 6 years ago
How do you determine baseline load of the test machine in order to qualify the correctness of the benchmark?<p>Assuming the compiling, and testing is done in the cloud how do you ensure the target platform (processor) doesn&#x27;t change, and that you aren&#x27;t being subjected to neighbors who are stealing RAM bandwidth, or CPU cache resources from your VM and impacting the results?
评论 #18116574 未加载
panicover 6 years ago
The &quot;More Like Rocket Science Rule of Software Engineering&quot; has been WebKit policy for a while: <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20061011203328&#x2F;http:&#x2F;&#x2F;webkit.org&#x2F;projects&#x2F;performance&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20061011203328&#x2F;http:&#x2F;&#x2F;webkit.org...</a> (now at <a href="https:&#x2F;&#x2F;webkit.org&#x2F;performance&#x2F;" rel="nofollow">https:&#x2F;&#x2F;webkit.org&#x2F;performance&#x2F;</a>).
评论 #18118713 未加载
habitueover 6 years ago
This project looks awesome, but as a complete aside:<p>How long do we expect it to take before &quot;automagically&quot; completely replaces &quot;automatically&quot; in English?<p>I am guessing less than a decade to go now
评论 #18117638 未加载
hsivonenover 6 years ago
Very nice!<p>Do you track opt_level=2 (the Firefox Rust opt level) in addition to the default opt_level=3?
评论 #18116540 未加载
thsowersover 6 years ago
This is really cool, love the project and the writeup! I regularly use nightly (I work with Rocket) and I had always wondered about this. Thank you!
Twirrimover 6 years ago
Can I suggest you consider putting <a href="https:&#x2F;&#x2F;github.com&#x2F;anp&#x2F;lolbench&#x2F;issues&#x2F;1" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;anp&#x2F;lolbench&#x2F;issues&#x2F;1</a> in to the README.md file, so people can easily see where to look for some TODO items?
评论 #18117630 未加载
awakeover 6 years ago
Is there any equivalent project for java.
评论 #18116230 未加载
评论 #18117664 未加载