-
Notifications
You must be signed in to change notification settings - Fork 75
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
Remove CircInterval implementation #188
Conversation
Note that there were some more complicated and probably clever implementations for bitwise operations on circular intervals in |
I think we are good to merge! |
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.
We might have to rethink IntDomTuple
at some point, so that it doesn't hard-code the number of possible integer analyses. Something more dynamic would be convenient but also probably less type-safe by using Obj
. MCP2
kind of does that, but I find that hacky as well: it stores things as assoc lists with some indices as "keys".
analyzer/src/cdomains/intDomain.ml Line 2034 in 90eda01
There was this before, but also static. |
This likely needs some more in-depth profiling (like most of Goblint really...) because it's not obvious at all. For example, if using just My general suspicion and experience with #164 is that we have subtle but massive performance bottlenecks in all sorts of subtle places, but nobody has ever profiled Goblint properly. Which isn't surprising because OCaml profiling tooling is almost non-existent. I tried and still ended up just guessing and using |
The assumption was that for
I think I ran some test where it was faster, but would be better to have some inline benchmarks [1] in
True, [1] https://github.com/Chris00/ocaml-benchmark Maybe pull these comments into an issue 'optimization/profiling'. |
This PR removes the CircInterval implementation as it is broken and we have another interval implementation.