Piezo PIFO trees: More thoughtful data gen #1787
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have adjusted the synthetic data generation script a little, when run with the
--piezo
flag.Before:
It used to just randomly generate 100 commands, which were pushes or pops. This meant that overflow and underflow were totally possible. Even if you made the queue resistant to over/underflows (so that the show just went on until all 100 commands were done) we could end the program with packets still left in the queue. This was bad because:
After:
Now we generate commands with a little more care, making sure that we never have underflows or overflows, and that we always pop out everything we push in. We still generate 100 commands total. This alleviates the issues above.