@@ -26,9 +26,12 @@ fn bench_insert(c: &mut Criterion) {
2626 ) ;
2727 } ) ;
2828
29- group. bench_function ( "hashbrown ::HashMap" , |b| {
29+ group. bench_function ( "std ::HashMap+FoldHash " , |b| {
3030 b. iter_batched (
31- || hashbrown:: HashMap :: with_capacity ( trigrams. len ( ) ) ,
31+ || std:: collections:: HashMap :: < u32 , usize , foldhash:: fast:: FixedState > :: with_capacity_and_hasher (
32+ trigrams. len ( ) ,
33+ foldhash:: fast:: FixedState :: default ( ) ,
34+ ) ,
3235 |mut map| {
3336 for ( i, & key) in trigrams. iter ( ) . enumerate ( ) {
3437 map. insert ( key, i) ;
@@ -52,24 +55,11 @@ fn bench_insert(c: &mut Criterion) {
5255 ) ;
5356 } ) ;
5457
55- group. bench_function ( "AHashMap " , |b| {
58+ group. bench_function ( "std::HashMap+AHash " , |b| {
5659 b. iter_batched (
57- || ahash:: AHashMap :: with_capacity ( trigrams. len ( ) ) ,
58- |mut map| {
59- for ( i, & key) in trigrams. iter ( ) . enumerate ( ) {
60- map. insert ( key, i) ;
61- }
62- map
63- } ,
64- BatchSize :: SmallInput ,
65- ) ;
66- } ) ;
67-
68- group. bench_function ( "FoldHashMap" , |b| {
69- b. iter_batched (
70- || hashbrown:: HashMap :: < u32 , usize , foldhash:: fast:: FixedState > :: with_capacity_and_hasher (
60+ || std:: collections:: HashMap :: < u32 , usize , ahash:: RandomState > :: with_capacity_and_hasher (
7161 trigrams. len ( ) ,
72- foldhash :: fast :: FixedState :: default ( ) ,
62+ ahash :: RandomState :: default ( ) ,
7363 ) ,
7464 |mut map| {
7565 for ( i, & key) in trigrams. iter ( ) . enumerate ( ) {
@@ -99,10 +89,10 @@ fn bench_insert(c: &mut Criterion) {
9989 ) ;
10090 } ) ;
10191
102- group. bench_function ( "hashbrown +Identity" , |b| {
92+ group. bench_function ( "std::HashMap +Identity" , |b| {
10393 b. iter_batched (
10494 || {
105- hashbrown :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
95+ std :: collections :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
10696 trigrams. len ( ) ,
10797 Default :: default ( ) ,
10898 )
@@ -142,11 +132,11 @@ fn bench_reinsert(c: &mut Criterion) {
142132 let trigrams = trigrams ( ) ;
143133 let mut group = c. benchmark_group ( "reinsert_1000_trigrams" ) ;
144134
145- group. bench_function ( "hashbrown +Identity" , |b| {
135+ group. bench_function ( "std::HashMap +Identity" , |b| {
146136 b. iter_batched (
147137 || {
148138 let mut map =
149- hashbrown :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
139+ std :: collections :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
150140 trigrams. len ( ) ,
151141 Default :: default ( ) ,
152142 ) ;
@@ -194,10 +184,10 @@ fn bench_grow(c: &mut Criterion) {
194184 let trigrams = trigrams ( ) ;
195185 let mut group = c. benchmark_group ( "grow_from_128_insert_1000_trigrams" ) ;
196186
197- group. bench_function ( "hashbrown +Identity" , |b| {
187+ group. bench_function ( "std::HashMap +Identity" , |b| {
198188 b. iter_batched (
199189 || {
200- hashbrown :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
190+ std :: collections :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
201191 128 ,
202192 Default :: default ( ) ,
203193 )
@@ -237,10 +227,10 @@ fn bench_count(c: &mut Criterion) {
237227
238228 let mut group = c. benchmark_group ( "count_4000_trigrams_get_or_default" ) ;
239229
240- group. bench_function ( "hashbrown +Identity entry()" , |b| {
230+ group. bench_function ( "std::HashMap +Identity entry()" , |b| {
241231 b. iter_batched (
242232 || {
243- hashbrown :: HashMap :: < u32 , u32 , IdentityBuildHasher > :: with_capacity_and_hasher (
233+ std :: collections :: HashMap :: < u32 , u32 , IdentityBuildHasher > :: with_capacity_and_hasher (
244234 trigrams. len ( ) ,
245235 Default :: default ( ) ,
246236 )
@@ -299,11 +289,11 @@ fn bench_iter(c: &mut Criterion) {
299289
300290 let mut group = c. benchmark_group ( "iter_1000_trigrams" ) ;
301291
302- group. bench_function ( "hashbrown +Identity iter()" , |b| {
292+ group. bench_function ( "std::HashMap +Identity iter()" , |b| {
303293 b. iter_batched (
304294 || {
305295 let mut map =
306- hashbrown :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
296+ std :: collections :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
307297 trigrams. len ( ) ,
308298 Default :: default ( ) ,
309299 ) ;
@@ -346,11 +336,11 @@ fn bench_iter(c: &mut Criterion) {
346336 ) ;
347337 } ) ;
348338
349- group. bench_function ( "hashbrown +Identity into_iter()" , |b| {
339+ group. bench_function ( "std::HashMap +Identity into_iter()" , |b| {
350340 b. iter_batched (
351341 || {
352342 let mut map =
353- hashbrown :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
343+ std :: collections :: HashMap :: < u32 , usize , IdentityBuildHasher > :: with_capacity_and_hasher (
354344 trigrams. len ( ) ,
355345 Default :: default ( ) ,
356346 ) ;
@@ -507,10 +497,10 @@ fn bench_merge_sort(c: &mut Criterion) {
507497 } ) ;
508498 } ) ;
509499
510- // ── 3. hashbrown HashMap merge, then sort into Vec ──────────────
511- group. bench_function ( "hashbrown merge + Vec sort" , |b| {
500+ // ── 3. std:: HashMap merge, then sort into Vec ──── ──────────────
501+ group. bench_function ( "std::HashMap+Identity merge + Vec sort" , |b| {
512502 b. iter ( || {
513- let mut map = hashbrown :: HashMap :: < u32 , u32 , IdentityBuildHasher > :: with_hasher (
503+ let mut map = std :: collections :: HashMap :: < u32 , u32 , IdentityBuildHasher > :: with_hasher (
514504 IdentityBuildHasher :: default ( ) ,
515505 ) ;
516506 for container in & hash_maps {
@@ -528,10 +518,10 @@ fn bench_merge_sort(c: &mut Criterion) {
528518 } ) ;
529519 } ) ;
530520
531- // ── 4. hashbrown HashMap merge only (no sort) ───────────────────
532- group. bench_function ( "hashbrown merge" , |b| {
521+ // ── 4. std:: HashMap merge only (no sort) ──── ───────────────────
522+ group. bench_function ( "std::HashMap+Identity merge" , |b| {
533523 b. iter ( || {
534- let mut map = hashbrown :: HashMap :: < u32 , u32 , IdentityBuildHasher > :: with_hasher (
524+ let mut map = std :: collections :: HashMap :: < u32 , u32 , IdentityBuildHasher > :: with_hasher (
535525 IdentityBuildHasher :: default ( ) ,
536526 ) ;
537527 for container in & hash_maps {
@@ -557,11 +547,11 @@ fn bench_merge_sort(c: &mut Criterion) {
557547 } ) ;
558548 } ) ;
559549
560- // ── 6. hashbrown presized merge only ──── ────────────────────────
561- group. bench_function ( "hashbrown merge presized" , |b| {
550+ // ── 6. std::HashMap presized merge only ────────────────────────
551+ group. bench_function ( "std::HashMap+Identity merge presized" , |b| {
562552 b. iter ( || {
563553 let mut map =
564- hashbrown :: HashMap :: < u32 , u32 , IdentityBuildHasher > :: with_capacity_and_hasher (
554+ std :: collections :: HashMap :: < u32 , u32 , IdentityBuildHasher > :: with_capacity_and_hasher (
565555 1_000_000 ,
566556 IdentityBuildHasher :: default ( ) ,
567557 ) ;
0 commit comments