Windows use hint::spin_loop()
+ expose fn native_sleep
+ add "experiments" testing bins
#12
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.
native_sleep
.SpinSleeper::with_spin_strategy
which allows specifying aSpinStrategy
.SpinStrategy::SpinLoopHint
by default.Add experiments directory with binaries to help pick OS defaults. In particular measuring spin latencies; I saw Linux has good performance using the current
thread::yield_now()
behaviour. However, on Windows performance under load is quite poor. This supports #11 in suggestingstd::hint::spin_loop()
is a better default on Windows.The downside of the change is that in non-load scenarios on Windows we'll now spin more using more power.
Linux
Windows