Skip to content

No push pop - #379

Merged
NatKarmios merged 2 commits into
masterfrom
no-push-pop
Jun 30, 2026
Merged

No push pop#379
NatKarmios merged 2 commits into
masterfrom
no-push-pop

Conversation

@giltho

@giltho giltho commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Z3 is terrible at incremental solving, and I'm not sure what happens but it's the cause of the flakiness of that one query in the gillian-c aws case study.

Also, using Unix.gettimeofday instead of Sys.time for all perf measures because otherwise this was not counting e.g. time waiting for z3 🙃 The measures were entirely all over the place

giltho added 2 commits June 28, 2026 23:47
Signed-off-by: Sacha Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha Ayoun <sachaayoun@gmail.com>
@giltho

giltho commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

Booyah! Please merge if you're happy with the code :) Feel free to change to your taste, I'm not extremely happy with the way I fetch the necessary definitions so if you think of a better solution

@PetarMax

Copy link
Copy Markdown
Contributor

"The measures were entirely all over the place."

From my very extensive experience, this is simply not likely. More evidence is needed to justify claims like these. We may have never had z3 time out on a test before somehow.

@giltho

giltho commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

I don't know when the use of Sys.time was introduced, but when switching to Unix.gettimeofday I observed that the time went from being consistently much below the wall clock time to matching it more or less exactly (a few miliseconds apart).
It is possible that the change was done by me in like 2020 though, and that it came after your work on improving solver time

@NatKarmios NatKarmios left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It works, I'm cool with it :P

@NatKarmios
NatKarmios merged commit d1eb98b into master Jun 30, 2026
13 checks passed
@NatKarmios
NatKarmios deleted the no-push-pop branch June 30, 2026 21:40
@giltho

giltho commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

@PetarMax AH but I know what is happening re timing!
Back when you were working on Gillian, it was calling z3 as a library directly! This means z3 was running in the same process so cpu time would measure z3 times as well.
Timings started being entirely bananas when we moved to using z3 through a separate process probably

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