Skip to content

Record the SMT input size for each split#938

Open
keyboardDrummer wants to merge 9 commits intoboogie-org:masterfrom
keyboardDrummer:smtInputSize
Open

Record the SMT input size for each split#938
keyboardDrummer wants to merge 9 commits intoboogie-org:masterfrom
keyboardDrummer:smtInputSize

Conversation

@keyboardDrummer
Copy link
Copy Markdown
Collaborator

@keyboardDrummer keyboardDrummer commented Aug 14, 2024

Changes

Record the SMT input string size for each split, which can be used to detect regressions in encoding performance

Testing

Updated existing test xml.bpl

@keyboardDrummer keyboardDrummer requested a review from atomb August 14, 2024 11:41
@keyboardDrummer keyboardDrummer enabled auto-merge (squash) August 14, 2024 11:41
Copy link
Copy Markdown
Collaborator

@atomb atomb left a comment

Choose a reason for hiding this comment

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

This seems like a useful thing to have. I'd prefer to have the size increment and Send calls paired in a separate method, though I don't feel strongly about that.


if (Process != null)
{
SentSize += s.Length;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

It would be lovely if this could only be done from a wrapper around Send, to ensure that it's always incremented. It would be even nicer if the reset to size 0 could be encapsulated somewhere, too, though I remember from working on this code that there isn't a clear place to put it at the moment.

Copy link
Copy Markdown
Collaborator

@atomb atomb left a comment

Choose a reason for hiding this comment

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

This looks good overall, but it looks like there are some minor test fixes needed.

Comment thread Test/commandline/xml.bpl Outdated
// CHECK: \<assertionBatch number="1" iteration="0" startTime=".*"\>
// CHECK: \<assertion file="xml.bpl" line="25" column="3" /\>
// CHECK: \<conclusion duration=".*" outcome="valid" resourceCount=".*" /\>
// CHECK: \<conclusion duration=".*" outcome="valid" resourceCount=".*" smtInputSize="601" /\>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

It looks like these values need updating again.

@keyboardDrummer
Copy link
Copy Markdown
Collaborator Author

Currently sometimes (declare-fun ControlFlow (Int Int) Int) gets put into common and sometimes it is not, which can change the numbers. Should find a way so it's always included

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.

2 participants