-
Notifications
You must be signed in to change notification settings - Fork 72
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
Activate abortUnless in svcomp conf #1464
Conversation
The timeouts are related to |
The recursified_knuth timeout is acceptable. It is caused by new refinement from This is a more fundamental problem that's not caused by abortUnless. Context widening fixes the timeout, but our svcomp conf doesn't use it (probably for more precision on recursive tasks that finish in time). |
This might the sort of thing where the context gas ⛽ may pay off. |
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.
Great to see that this old thing now pays off!
What's the holdup here? If no one else wants to review it, I'd suggest we merge it. |
This is on top of #1462 to fix #1453, but the following benchmarking was also done with #1450 included.
In #875 (comment), when the abortUnless analysis was added, it didn't seem to pay off. Now with Apron and autotuning, it seems that it might now.
sv-benchmarks no-overflow
With 60s timeout, we gain 92 new correct trues. There are also 3 new TIMEOUTs to be investigated.
CPU time linear scale
Always activating abortUnless has ~1% overhead, which is negligible.
CPU time log scale
Visible differences are only at the low end and the slowdown cases are precisely those nla-digbench tasks where we become more precise because of this, which is expected.
TODO
New TIMEOUTs to investigate:
sync Join
more precise when threadflag is path-sensitive #1475)sync Join
more precise when threadflag is path-sensitive #1475)