Repository navigation
Sanitiser cost test alternates its two input sizes, best of up to 15 runs each (#30) - #32
Merged
Merged
Conversation
…runs each (#30) TestSanitizeForReportCostDoesNotGrowQuadratically timed three runs of the 50 KB input and then three runs of the 200 KB input, so load that arrived between the two batches landed on the larger size alone. With 24 copies of the test running at once under -race on a 16-core machine, it failed 6 of 360 runs and then 7 of 360, with ratios including 10.4x, 16.8x and 34.9x, against code that is linear. The sizes now take turns, one run of each per round for up to 15 rounds, and the fastest run of each is compared against the same 8x bound. After the third round no further round starts once the observed time passes 2 seconds, so an implementation as slow as the pre-fix one is timed three times per size, as before. The same 24-copy load ran the changed test 720 times with no failure. A fake-clock test covers the failure: with load arriving once three small runs are done, the old order reports 1ms and 12ms and the new order reports 1ms and 4ms. A second test checks that the budget stops the rounds. Fixes #30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 pull request lands 1 commit in
internal/analyzer.Included
Verified on this exact tree
git ls-files --others -- '*_test.go' | wc -l: 0;git ls-files -- '*_test.go' | wc -l: 92go mod verify: all modules verifiedgo build ./...: exit 0go vet ./...: exit 0gofmt -s -l . | wc -l: 0go test -race -p 4 -count=1 -json -skip '^TestAZoneScopedLinkLocalTargetIsScanned$' ./...: exit 0; result events counted from its output: packages passed 6, failed 0, skipped 0; top-level tests passed 401, failed 0, skipped 1; subtests passed 527, failed 0, skipped 0TestFIPSChildScanNamesTheHybridGroupsItCannotOffer, skip message "runs in the child process that TestAFIPSBuildWithoutMLKEMNamesTheHybridGroupsItCannotOffer starts"TestAZoneScopedLinkLocalTargetIsScannedininternal/scanner(the-skipabove), whose helperlistenOnALinkLocalAddressbinds a link-local IPv6 address, not 127.0.0.1 or ::1golangci-lint run --timeout=5m --concurrency=4 ./...: exit 1, 17 issues (errcheck: 10, staticcheck: 6, unused: 1); the same command onorigin/main(aa54432) printed the same 17 finding lines (diffof the sorted lines printed nothing)Not included
None
Closes
Fixes #30
How to merge
Rebase and merge, so that each change stays its own commit on
main.