diff options
| author | bors <bors@rust-lang.org> | 2014-10-11 18:37:13 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-10-11 18:37:13 +0000 |
| commit | cd1fa91d2bf97a6331e1d0265eec0f3324191f89 (patch) | |
| tree | ee50ddbe24299b1a263167a9b00a0075561c08f6 /src/rustllvm | |
| parent | 4d031d7f86a66270d3cfc28a2ecf75706a67054b (diff) | |
| parent | f91c680e95bdb855c4086d9db0477a057b9f49f6 (diff) | |
| download | rust-cd1fa91d2bf97a6331e1d0265eec0f3324191f89.tar.gz rust-cd1fa91d2bf97a6331e1d0265eec0f3324191f89.zip | |
auto merge of #17801 : Gankro/rust/collections-stuff, r=sfackler
I previously avoided `#[inline]`ing anything assuming someone would come in and explain to me where this would be appropriate. Apparently no one *really* knows, so I'll just go the opposite way an inline everything assuming someone will come in and yell at me that such-and-such shouldn't be `#[inline]`. ================== For posterity, iteration comparisons: ``` test btree::map::bench::iter_20 ... bench: 971 ns/iter (+/- 30) test btree::map::bench::iter_1000 ... bench: 29445 ns/iter (+/- 480) test btree::map::bench::iter_100000 ... bench: 2929035 ns/iter (+/- 21551) test treemap::bench::iter_20 ... bench: 530 ns/iter (+/- 66) test treemap::bench::iter_1000 ... bench: 26287 ns/iter (+/- 825) test treemap::bench::iter_100000 ... bench: 7650084 ns/iter (+/- 356711) test trie::bench_map::iter_20 ... bench: 646 ns/iter (+/- 265) test trie::bench_map::iter_1000 ... bench: 43556 ns/iter (+/- 5014) test trie::bench_map::iter_100000 ... bench: 12988002 ns/iter (+/- 139676) ``` As you can see `btree` "scales" much better than `treemap`. `triemap` scales quite poorly. Note that *completely* different results are given if the elements are inserted in order from the range [0, size]. In particular, TrieMap *completely* dominates in the sorted case. This suggests adding benches for both might be worthwhile. However unsorted is *probably* the more "normal" case, so I consider this "good enough" for now.
Diffstat (limited to 'src/rustllvm')
0 files changed, 0 insertions, 0 deletions
