Conversation
The write half of the rival gate divides a commit by what one durable sync costs. That denominator is a measurement too, and it moves more than the thing it is dividing. Six medians of fifteen flushes each, back to back on one file on an M4, came back at 3.91, 3.01, 3.01, 3.18, 3.97 and 3.05 ms. The same probe of the same volume a second apart lands at three or at four, and a 7.86 ms commit is 2.61 syncs by the first and 1.98 by the last, which is the difference between failing a ceiling of two and clearing it. So the probe takes five batches of fifteen and reports the lowest and the highest of its batch medians alongside the median of the lot, and the stamp carries all three. Where dividing by the cheapest flush and by the dearest put a commit on opposite sides of the ceiling, the gate reports that this host was not asked a question it could answer instead of ruling on which end its median happened to land on. The rival half needs none of this: both sides are divided by the same unit, so the comparison between two engines is immune to what the unit was. The table prints the band under the count, because a number quoted out of a report should carry what it is worth.
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.
The rival gate landed in #122 divides a commit by what one durable sync costs on the volume the run wrote to. I went to check that denominator and it does not hold still.
Six medians of fifteen flushes each, taken back to back on one file in one directory on an M4:
The median of fifteen flushes, which is what the stamp carried, is 3.01 in one probe and 3.97 in the next, of the same volume, a second apart. A 7.86ms commit is 2.61 syncs by the first and 1.98 by the last. The ceiling the gate holds a commit to is two. So the gate as it stood was ruling on which end of its own band the probe happened to land on, and it would have said pass or fail on identical engines depending on that.
This makes the probe report the band. Five batches of fifteen, the median of all seventy five, and the lowest and highest of the batch medians.
HardwarecarriesSyncLowNanosandSyncHighNanosbesideSyncNanos, so the band travels in the result document and any run recorded from here can be re-read later.The gate then declines where the ceiling is inside the band:
Indeterminate, not failed, which is the same treatment a regression inside the measured noise floor already gets: the harness saying this run cannot answer the question is a different thing from saying the answer is no. A band that sits entirely over the ceiling still fails, and a band entirely under it still passes.
The rival half of the write gate needs none of this and does not use it. Both engines are divided by the same unit when they ran on one machine, so their ratio is whatever the unit was, and comparing zu's commit against ladybug's in syncs is exactly comparing them in milliseconds. It is only the absolute count that is at the mercy of the denominator.
The printed table gains a line under the sync counts saying what they are worth at each end of the band, so a number quoted out of an issue comment carries its own width.
go build ./...andgo test ./...pass,gofmt -lis clean. Three new tests: the probe reports a band with its median inside it, the gate declines a ceiling inside the band and still fails one outside it, and the table prints the band.