Repository navigation
test(runner/toolexec): measure the cost of a scheduling point - #583
Merged
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
14 tasks done
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.
Adds
TestPointReleaseCosttorunner/toolexec/sched, the measurement XTE §9 asks for. It runs only withSCHED_COST=1and skips otherwise, so CI does not run it.The test times one scheduling point and its release, with the driver's
synctest.Wait, at stack depths 0 and 40. On an Apple M4 Max with go1.27.3 it logs about 2.7 µs and 11.7 µs, under the spec's targets of 3.0 µs and 16 µs (not gated).The same run measured the slowdown of the exact backend against plain builds, 100 seeds, median of 3: 1.21× for the root package and
shims/netsim, 1.61× for the key-value corpus, 1.01× for the HTTP corpus, and 3.12× for the HTTP corpus withnet/httprewritten, all under the 5× limit. The backend's code size is 2,718 lines of the 3,000 budget.Closes #348