-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Parsing Performance Regression (internal API) #6683
Comments
I can try to build your Java code and test, but a few things that could aid in throwing it over the fence:
|
I will have to ask you to provide a z3.log. Add Native.openLog("z3.log"); before you do anything else. |
Thank you for your help! |
The z3.log repro is useful. After the change, the pre-processing does not expand term size and solving on z3.log now works much faster. You can try the current master. |
This fixes the regression! |
Hello,
we've noticed that there is a massive performance regression concerning a parsed UF + Array formula.
We use the (internal) Java API.
Using the "normal" Java API or Z3 directly on the SMT2 file yields a result immediately.
I've written a example in Java that illustrates the problem.
Maybe you can tell us what we are doing wrong.
(Note: we at JavaSMT use this code for years without issues, hence our confusion)
You can find the example program and the query here.
To execute the program:
Drop both files into the folder that contains the build Z3 binaries with the Java interface and then execute:
javac -cp com.microsoft.z3.jar:. Z3SlowdownExamples.java
LD_LIBRARY_PATH=. java -cp com.microsoft.z3.jar:. Z3SlowdownExamples
I've added prints and some comments that explain the pathing in the program.
If you need more information or a C program, please let me know.
Thank you very much with your help!
The text was updated successfully, but these errors were encountered: