Increase reproducability of Lin Thread tests #24
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.
This splits the negative tests of Lin into
In order to increase reproducability it then
interp_thread
functionrep_count
For the latter I spent a bit of time developing a statistical test to decide whether a candidate change would
constitute an improvement. I then recorded for 10.000 arbitrary
cmd
-triples whether the property would hold,and used these numbers for a z-statistic test following https://www.itl.nist.gov/div898/handbook/prc/section3/prc33.htm
The three above changes proved to yield statistically significant increases.
Things that didn't pan out
Thread.delay
instead ofThread.yield
to maximize concurrency issuesThread.yield
s in theThread.create
lambdas