-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Benchmarks in CI. #1498
Benchmarks in CI. #1498
Conversation
Hey @shimkiv one ask - can we separate the core benchmarking library from the tooling to upload benchmark data?
Similarly, it would be nice if the benchmark definitions like Goal: I want to keep the ability to easily run these benchmarks locally and print out their results, by writing a small script that calls |
Hey @mitschabaude, if you will run benchmarks locally as it was intended at first like |
Ok thanks I see it now in the code that nothing happens if you don't configure influx db. Still, I'd like to keep the infra code separate from the core benchmark code. This is cleaner from a code organization perspective. The core benchmark lib is not supposed to:
It should be a pure JS lib really with no external dependencies (right now it depends on |
@shimkiv you could pass in the additional environment data like the CPU to import os from "node:os";
// import benchmarks
let environment = {
hardware: `${os.cpus()[0].model}, ${os.cpus().length} cores, ...`
// ...
};
let results = [
...await EcdsaBenchmark.run(environment),
...await SomeOtherBenchmark.run(environment),
];
// results include measurements + environment data |
This is cool feature but since we run all of them on the same env. it looks like we transfer the same data back and forth without any meaning. In its current state. But might be helpful after refactoring you suggest. Thanks. |
I agree, it's just passing data through. The alternative is to add the environment data to the benchmark results after collecting them. In any case, the data needs to come from outside somehow if we go with the requirement that the benchmarking lib doesn't collect that data itself |
@mitschabaude can you please take another look on latest refactoring in attempt to reflect what was requested (from my understanding). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @shimkiv! I will leave it up to @mitschabaude to decide if theses changes addressed his comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some comments left, looks great overall!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ship it 🚢
Closes #1473
Closes #1487
Closes #1489
Closes o1-labs/benchmark-infra#1