about summary refs log tree commit diff
path: root/compiler/rustc_trait_selection
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-02-13 04:06:04 +0000
committerbors <bors@rust-lang.org>2023-02-13 04:06:04 +0000
commit96834f0231277e8feb8dcf185b2af082ad2e39f6 (patch)
tree46bc6d81fa66df61191983401a960844b78ddfe0 /compiler/rustc_trait_selection
parent7740f9a571b3c6510607b17b29c81eeb24a7c79a (diff)
parent5eff2645335e86f714a92a592f81936fead1f6a4 (diff)
downloadrust-96834f0231277e8feb8dcf185b2af082ad2e39f6.tar.gz
rust-96834f0231277e8feb8dcf185b2af082ad2e39f6.zip
Auto merge of #107191 - Voultapher:reverse-timsort-scan-direction, r=thomcc
Reverse Timsort scan direction

Another PR in the series of stable sort improvements. Best reviewed by looking at the individual commits.

The main perf gain here is for fully ascending (sorted) or reversed inputs for cheap to compare types such as `u64`, these see a ~1.5x speedup.

![timsort_evo2_hot_u64_10k](https://user-images.githubusercontent.com/6864584/213913351-cfdf452f-a37c-4bc6-a811-d10c60e66eca.png)

![timsort_evo2_hot_string_10k](https://user-images.githubusercontent.com/6864584/213913354-d9cc395a-2b48-4f54-b687-09174b9e35ce.png)

Types such as string with indirect pre-fetching see only minor changes. Further speedups are planned in future PRs so, I wouldn't spend too much time for benchmarks here.
Diffstat (limited to 'compiler/rustc_trait_selection')
0 files changed, 0 insertions, 0 deletions