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

Z3: clone the solver instead of adding constraints to a fresh instance #248

Merged
merged 3 commits into from
May 18, 2022

Conversation

CanCebeci
Copy link
Contributor

This results in increased incrementalism and thus speeds up further queries (See Z3Prover/z3#556). Leads to 10-25% reduction in execution time in my private benchmarks.

@rhelmot
Copy link
Member

rhelmot commented Oct 31, 2021

Can you do some tests to check the performance impact on our existing angr/tests/perf tests (should be minimal) and also on some public solving-heavy tests - I would do test_tracer and then the wyvern example in angr-doc

@rhelmot
Copy link
Member

rhelmot commented Oct 31, 2021

Also, if you have a workload which you feel like isn't represented by any of our standard perf tests, you can write one and submit a PR and we'll run it every night to check for regressions!

@CanCebeci
Copy link
Contributor Author

I'd gladly do some more performance benchmarks. But before that could you help me understand why that one test fails? I don't understands what it is doing.

@rhelmot
Copy link
Member

rhelmot commented Nov 2, 2021

It's a spurious failure. I've run it again and it's passed!

@ltfish
Copy link
Member

ltfish commented Nov 2, 2021

OMG for five years we did not see the second comment in the original Z3 issue about translate()...

@github-actions
Copy link
Contributor

This pull request has been marked as stale because it has no recent activity. Please comment or add the pinned tag to prevent this issue from being closed.

@github-actions github-actions bot added the stale label May 18, 2022
@rhelmot
Copy link
Member

rhelmot commented May 18, 2022

I'm going to merge this and fix any problems that come of it :)

@rhelmot rhelmot merged commit f22b1eb into angr:master May 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants