Conversation
|
Thanks! Can you fix clippy? Also, would be nice to see some example results, could you simply post the machine you used and the output of the benchmark here? :) I wonder what a good structure would be find "interesting" benchmarks if the set of benchmarks in the repository increases. Maybe we should have some logical structure w.r.t. what benchmarks we have. |
|
@evnu yes I agree, for now I just included all benchmarks I used even though there is a bit overlap with existing benchmarks just to start a discussion. What about having a single |
|
As an addition, it would be nice if rustler also had a standard way for rustler projects to add benchrmarks/tests that would automatically be setup for PGO, following these steps: https://doc.rust-lang.org/rustc/profile-guided-optimization.html#a-complete-cargo-workflow Something that could be configured in project Native.ex: Rustler would then use a combination of internal benchmarks and the Project provided benchmark to merge a combined instrumentation file. by default if not provided rustler could still use internal benchmarks to run PGO. I guess PGO would automatically perform some optimizations that this PR is doing manually: #475 |
W.r.t. regression in CI/CD, in my experience, that seldomly works well unless one puts in considerable effort. CI/CD is run on non-dedicated machines, so results can vary wildly. I wouldn't put too much work into that. Enabling running all benchmarks with a single command sounds good. I guess for that we would need to make the benchmarks coherent, so that the runs "tell a story". Otherwise, someone running the benchmarks still needs to read the benchmark code first to understand what it is all about.
Interesting suggestion. This goes out-of-scope of this PR, maybe create a separate ticket just for that? I have never played with PGO yet, so I don't know how complicated it is to use. |
Neither have I, yes I think a separate PR is a better fit. I'll leave this PR here for now and I'll create another one for PGO. Can come back to this one later to see if it's still of interest. |
|
@cleaton seems I kind make the github actions run again. Can you rebase on master so that the tests run again? |
Benchmarks used to verify #482 . At that time there was no benchmarks setup in rustler yet so I didn't include them in the PR.
As there is now, this might be of use for others or CI/CD integration.