(EXPERIMENT) Make ChunkedBitSet's bitwise_changes more unroller/autovectorizer-friendly#147801
(EXPERIMENT) Make ChunkedBitSet's bitwise_changes more unroller/autovectorizer-friendly#147801Zalathar wants to merge 1 commit intorust-lang:masterfrom
bitwise_changes more unroller/autovectorizer-friendly#147801Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
(EXPERIMENT) Make ChunkedBitSet's `bitwise_changes` more unroller/autovectorizer-friendly
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (2cef582): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary -3.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.3%, secondary 4.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 475.105s -> 474.148s (-0.20%) |
|
A measurable improvement, but not very dramatic, perhaps because the equality check has already claimed most of the low-hanging fruit. Since I don't have benchmarking set up locally, iterating on this would be a hassle, so I'll just close. |
This idea came to me after thinking about #147619, though I don't yet know whether it's worthwhile.
The basic idea is that loops with early exits tend to be slower than necessary, because the compiler doesn't know that it would be fine to batch up a few extra iterations and early-exit a bit later.
r? ghost