diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-03-21 05:33:21 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-21 05:33:21 +0100 |
| commit | 9d9e3813b2b908c419a475eb6fdd0476c8b5f86a (patch) | |
| tree | 7f5e579b1637d363864189edd91509fe9a5aafb3 /src/test/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs | |
| parent | 67e418ce75b6aab0918268e4268570b7215abe68 (diff) | |
| parent | bce7f6f3a09c0dc2e56c8b3a9f17c8a18cada009 (diff) | |
| download | rust-9d9e3813b2b908c419a475eb6fdd0476c8b5f86a.tar.gz rust-9d9e3813b2b908c419a475eb6fdd0476c8b5f86a.zip | |
Rollup merge of #70111 - Mark-Simulacrum:btree-no-shared, r=cuviper
BTreeMap: remove shared root This replaces the shared root with `Option`s in the BTreeMap code, and then slightly cleans up the node manipulation code taking advantage of the removal of the shared root. I expect that further simplification is possible, but wanted to get this posted for initial review. Note that `BTreeMap::new()` continues to not allocate. Benchmarks seem within the margin of error/unaffected, as expected for an entirely predictable branch. ``` name alloc-bench-a ns/iter alloc-bench-b ns/iter diff ns/iter diff % speedup btree::map::iter_mut_20 20 21 1 5.00% x 0.95 btree::set::clone_100 1,360 1,439 79 5.81% x 0.95 btree::set::clone_100_and_into_iter 1,319 1,434 115 8.72% x 0.92 btree::set::clone_10k 143,515 150,991 7,476 5.21% x 0.95 btree::set::clone_10k_and_clear 142,792 152,916 10,124 7.09% x 0.93 btree::set::clone_10k_and_into_iter 146,019 154,561 8,542 5.85% x 0.94 ```
Diffstat (limited to 'src/test/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs')
0 files changed, 0 insertions, 0 deletions
