Skip to content
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

Benchmark z3 and cvc5 #597

Merged
merged 2 commits into from
Sep 26, 2024
Merged

Conversation

jprider63
Copy link
Collaborator

This updates the benchmarking CI to display results for z3 and cvc5. An example of what this looks like is available here.

Note: #596 must be merged first.

@jprider63 jprider63 marked this pull request as draft September 25, 2024 20:50
@jprider63
Copy link
Collaborator Author

I found one edge case. I'm fixing it now.

@jprider63
Copy link
Collaborator Author

This is now fixed!

@jprider63 jprider63 marked this pull request as ready for review September 25, 2024 21:06
@cp526 cp526 merged commit e85a739 into rems-project:master Sep 26, 2024
2 checks passed
@PeterSewell
Copy link
Contributor

PeterSewell commented Sep 26, 2024 via email

@cp526
Copy link
Collaborator

cp526 commented Sep 26, 2024

Is buddy in the CI?

Not currently. Last we checked the performance was bad enough we couldn't tell whether it's even in a working state, so we can't include it in CI at the moment.

@jprider63
Copy link
Collaborator Author

Perhaps it'd be easy to fix an order of the tests, eg order by increasing Z3 runtime in the current version

The current CI visualization tool does not support ordering. I can extend it, but it would take some time.

draw bargraphs with the tests on the x axis and four thin bars (z3 previous, z3 current, cvc5 previous, cvs current) for each test

These graphs currently show how the performance changes over time. They display runtimes with z3 and cvc5 for every update to master, where the x-axis is the update's commit. Would you prefer a single bar graph that only displays the last two updates instead? This would lose the history over time information that would help us identify future regressions.

I've also implemented this PR which runs regression benchmarks on every pull request that is opened. It posts a comment on the PR that compares the previous performance with the PR's performance and highlights any regressions. An example on Galois' fork is here. Unfortunately, it is currently not working on this repository due to Github permission errors that we haven't successfully debugged yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants