Make ticking a bit more realistic in Imp tests #5433
+54
−18
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.
Description
Description
Current implementation of ticking in ImpSpec is a bit naive, since it calls
TICKrule for every slot. This is not only slow, but it also does not match the reality. On an actual running node TICK is called on every block, which happens on average every1/activeSlotCoefficientnumber of slots. On mainnet this is about every 20 slots or every 20 seconds.Switching to this approach makes imp tests significantly faster, namely about 80% faster on the example of Conway imp tests (Running Conway imp tests on my laptop went from 6.5 minutes to 1.5 minute)
Checklist
CHANGELOG.mdfiles updated for packages with externally visible changes.NOTE: New section is never added with the code changes. (See RELEASING.md).
.cabalandCHANGELOG.mdfiles when necessary, according to theversioning process.
.cabalfiles updated when necessary.NOTE: If bounds change in a cabal file, that package itself must have a version increase. (See RELEASING.md).
scripts/fourmolize.sh).scripts/cabal-format.sh).scripts/gen-cddl.sh)hie.yamlupdated (usescripts/gen-hie.sh).