about summary refs log tree commit diff
path: root/src/test/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2020-03-21 05:33:21 +0100
committerGitHub <noreply@github.com>2020-03-21 05:33:21 +0100
commit9d9e3813b2b908c419a475eb6fdd0476c8b5f86a (patch)
tree7f5e579b1637d363864189edd91509fe9a5aafb3 /src/test/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs
parent67e418ce75b6aab0918268e4268570b7215abe68 (diff)
parentbce7f6f3a09c0dc2e56c8b3a9f17c8a18cada009 (diff)
downloadrust-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