Skip to content

Support deterministic output#32

Merged
RandomHashTags merged 19 commits intomainfrom
improve-determinism
Mar 20, 2026
Merged

Support deterministic output#32
RandomHashTags merged 19 commits intomainfrom
improve-determinism

Conversation

@RandomHashTags
Copy link
Owner

@RandomHashTags RandomHashTags commented Mar 19, 2026

Adopt OrderedSets, from apple/swift-collections, and RandomNumberGenerator to produce deterministic (reproducible) output.

Add setting to GenerationConstraints to allow providing different techniques, seeds, multipliers, and increments.

Fixes #25


discovered apple/swift-collections#608

@RandomHashTags RandomHashTags self-assigned this Mar 19, 2026
@RandomHashTags RandomHashTags added enhancement New feature or request semver/minor Semantic Version MINOR changes (added functionality in a backward compatible manner) unit tests Relates to unit tests in some way performance Relates to performance redistribution Relates to the matchup redistribution system shuffling Relates to the matchup shuffling system protobufs Relates the protocol buffers home/away Relates to home or away matchups determinism Relates to deterministic (or non-deterministic) behavior labels Mar 19, 2026
@RandomHashTags
Copy link
Owner Author

RandomHashTags commented Mar 20, 2026

testthroughput decreased by ~1-2%, which is acceptable. Now a lot of the schedule unit tests fail by maxing regeneration attempts when enabling deterministic output. Now we can finally make objective improvements to the logic.

@RandomHashTags RandomHashTags added semver/major Semantic Version MAJOR changes (made incompatible API changes) and removed semver/minor Semantic Version MINOR changes (added functionality in a backward compatible manner) labels Mar 20, 2026
@RandomHashTags RandomHashTags added semver/minor Semantic Version MINOR changes (added functionality in a backward compatible manner) and removed semver/major Semantic Version MAJOR changes (made incompatible API changes) labels Mar 20, 2026
@RandomHashTags RandomHashTags merged commit 8026f35 into main Mar 20, 2026
@RandomHashTags RandomHashTags deleted the improve-determinism branch March 20, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

determinism Relates to deterministic (or non-deterministic) behavior enhancement New feature or request home/away Relates to home or away matchups performance Relates to performance protobufs Relates the protocol buffers redistribution Relates to the matchup redistribution system semver/minor Semantic Version MINOR changes (added functionality in a backward compatible manner) shuffling Relates to the matchup shuffling system unit tests Relates to unit tests in some way

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support deterministic generation

1 participant