6
6
use std:: {
7
7
cmp:: Ordering ,
8
8
fmt,
9
- hash:: { self , Hash } ,
9
+ hash:: { self , BuildHasherDefault , Hash } ,
10
10
iter:: { Cloned , DoubleEndedIterator , FromIterator } ,
11
11
marker:: PhantomData ,
12
12
ops:: Deref ,
@@ -25,8 +25,11 @@ use petgraph::{
25
25
} ,
26
26
Directed , Direction , EdgeType , Incoming , IntoWeightedEdge , Outgoing , Undirected ,
27
27
} ;
28
+ use rustc_hash:: FxHasher ;
28
29
use swc_common:: collections:: AHashSet ;
29
30
31
+ type FxBuildHasher = BuildHasherDefault < FxHasher > ;
32
+
30
33
/// A `GraphMap` with directed edges.
31
34
///
32
35
/// For example, an edge from *1* to *2* is distinct from an edge from *2* to
@@ -59,8 +62,8 @@ pub type FastDiGraphMap<N, E> = FastGraphMap<N, E, Directed>;
59
62
/// Depends on crate feature `graphmap` (default).
60
63
#[ derive( Clone ) ]
61
64
pub struct FastGraphMap < N , E , Ty > {
62
- nodes : IndexMap < N , Vec < ( N , CompactDirection ) > , ahash :: RandomState > ,
63
- edges : IndexMap < ( N , N ) , E , ahash :: RandomState > ,
65
+ nodes : IndexMap < N , Vec < ( N , CompactDirection ) > , FxBuildHasher > ,
66
+ edges : IndexMap < ( N , N ) , E , FxBuildHasher > ,
64
67
ty : PhantomData < Ty > ,
65
68
}
66
69
@@ -584,7 +587,7 @@ where
584
587
Ty : EdgeType ,
585
588
{
586
589
from : N ,
587
- edges : & ' a IndexMap < ( N , N ) , E , ahash :: RandomState > ,
590
+ edges : & ' a IndexMap < ( N , N ) , E , FxBuildHasher > ,
588
591
iter : Neighbors < ' a , N , Ty > ,
589
592
}
590
593
1 commit comments
github-actions[bot] commentedon Mar 23, 2023
Benchmark
es/full/bugs-1
315323
ns/iter (± 6430
)306309
ns/iter (± 10598
)1.03
es/full/minify/libraries/antd
1569610948
ns/iter (± 19467873
)1544331036
ns/iter (± 23836829
)1.02
es/full/minify/libraries/d3
299419103
ns/iter (± 4311538
)297905755
ns/iter (± 9277237
)1.01
es/full/minify/libraries/echarts
1202365221
ns/iter (± 8302934
)1189776727
ns/iter (± 20333102
)1.01
es/full/minify/libraries/jquery
91587950
ns/iter (± 724273
)90570410
ns/iter (± 701335
)1.01
es/full/minify/libraries/lodash
106031434
ns/iter (± 2093594
)105047033
ns/iter (± 821945
)1.01
es/full/minify/libraries/moment
53049652
ns/iter (± 678799
)52333234
ns/iter (± 322107
)1.01
es/full/minify/libraries/react
19287456
ns/iter (± 176139
)19088112
ns/iter (± 128857
)1.01
es/full/minify/libraries/terser
247454291
ns/iter (± 1879704
)246278714
ns/iter (± 2059315
)1.00
es/full/minify/libraries/three
433871947
ns/iter (± 4225323
)429377063
ns/iter (± 5787317
)1.01
es/full/minify/libraries/typescript
2947579584
ns/iter (± 10990184
)2952679163
ns/iter (± 22958557
)1.00
es/full/minify/libraries/victory
660403306
ns/iter (± 9229098
)636812459
ns/iter (± 12551148
)1.04
es/full/minify/libraries/vue
133399476
ns/iter (± 1042471
)130622693
ns/iter (± 1354843
)1.02
es/full/codegen/es3
28776
ns/iter (± 95
)28414
ns/iter (± 56
)1.01
es/full/codegen/es5
28920
ns/iter (± 151
)28402
ns/iter (± 58
)1.02
es/full/codegen/es2015
28864
ns/iter (± 91
)28451
ns/iter (± 88
)1.01
es/full/codegen/es2016
28858
ns/iter (± 84
)28459
ns/iter (± 87
)1.01
es/full/codegen/es2017
28854
ns/iter (± 74
)28487
ns/iter (± 75
)1.01
es/full/codegen/es2018
28927
ns/iter (± 66
)28404
ns/iter (± 66
)1.02
es/full/codegen/es2019
28865
ns/iter (± 72
)28480
ns/iter (± 40
)1.01
es/full/codegen/es2020
28907
ns/iter (± 74
)28422
ns/iter (± 68
)1.02
es/full/all/es3
185648491
ns/iter (± 2928418
)182764945
ns/iter (± 3474970
)1.02
es/full/all/es5
175159197
ns/iter (± 3557475
)174606539
ns/iter (± 2124503
)1.00
es/full/all/es2015
139310574
ns/iter (± 2786085
)139853870
ns/iter (± 2481156
)1.00
es/full/all/es2016
138231538
ns/iter (± 1628856
)136235429
ns/iter (± 1955167
)1.01
es/full/all/es2017
137224712
ns/iter (± 2081055
)135653999
ns/iter (± 1430636
)1.01
es/full/all/es2018
132559155
ns/iter (± 2051957
)131222362
ns/iter (± 2801201
)1.01
es/full/all/es2019
131027966
ns/iter (± 2003315
)130767849
ns/iter (± 1986608
)1.00
es/full/all/es2020
121990756
ns/iter (± 1829782
)120358561
ns/iter (± 859006
)1.01
es/full/parser
538233
ns/iter (± 9156
)541288
ns/iter (± 6884
)0.99
es/full/base/fixer
22704
ns/iter (± 60
)22549
ns/iter (± 30
)1.01
es/full/base/resolver_and_hygiene
82992
ns/iter (± 105
)84239
ns/iter (± 102
)0.99
serialization of ast node
124
ns/iter (± 1
)123
ns/iter (± 7
)1.01
serialization of serde
126
ns/iter (± 0
)129
ns/iter (± 0
)0.98
css/minify/libraries/bootstrap
29049545
ns/iter (± 118867
)28572222
ns/iter (± 185171
)1.02
css/visitor/compare/clone
2097823
ns/iter (± 20488
)2100638
ns/iter (± 15670
)1.00
css/visitor/compare/visit_mut_span
2265959
ns/iter (± 8142
)2282154
ns/iter (± 6753
)0.99
css/visitor/compare/visit_mut_span_panic
2327552
ns/iter (± 5191
)2332024
ns/iter (± 8079
)1.00
css/visitor/compare/fold_span
3034099
ns/iter (± 18924
)3037640
ns/iter (± 24973
)1.00
css/visitor/compare/fold_span_panic
3232526
ns/iter (± 21977
)3187967
ns/iter (± 19918
)1.01
css/lexer/bootstrap_5_1_3
5180354
ns/iter (± 4826
)5184516
ns/iter (± 31029
)1.00
css/lexer/foundation_6_7_4
4368360
ns/iter (± 22958
)4362809
ns/iter (± 7304
)1.00
css/lexer/tailwind_3_1_1
827535
ns/iter (± 550
)828896
ns/iter (± 4466
)1.00
css/parser/bootstrap_5_1_3
22250375
ns/iter (± 165055
)21859507
ns/iter (± 99910
)1.02
css/parser/foundation_6_7_4
17741174
ns/iter (± 121932
)17447895
ns/iter (± 123322
)1.02
css/parser/tailwind_3_1_1
3382022
ns/iter (± 5396
)3343045
ns/iter (± 4598
)1.01
es/codegen/colors
328732
ns/iter (± 184084
)333070
ns/iter (± 187836
)0.99
es/codegen/large
1171946
ns/iter (± 594834
)1250270
ns/iter (± 641727
)0.94
es/codegen/with-parser/colors
47789
ns/iter (± 448
)47880
ns/iter (± 382
)1.00
es/codegen/with-parser/large
522765
ns/iter (± 1366
)530934
ns/iter (± 1996
)0.98
es/minify/libraries/antd
1372840843
ns/iter (± 19733567
)1336352812
ns/iter (± 16265901
)1.03
es/minify/libraries/d3
256952643
ns/iter (± 1768696
)250237666
ns/iter (± 3015893
)1.03
es/minify/libraries/echarts
1051914303
ns/iter (± 10652007
)1023353452
ns/iter (± 6295699
)1.03
es/minify/libraries/jquery
79214024
ns/iter (± 390762
)78506161
ns/iter (± 482505
)1.01
es/minify/libraries/lodash
94427887
ns/iter (± 760874
)94934344
ns/iter (± 1302753
)0.99
es/minify/libraries/moment
45928014
ns/iter (± 526926
)45568085
ns/iter (± 198539
)1.01
es/minify/libraries/react
17128136
ns/iter (± 161710
)17182166
ns/iter (± 165280
)1.00
es/minify/libraries/terser
211126949
ns/iter (± 1815042
)209222932
ns/iter (± 2836854
)1.01
es/minify/libraries/three
364691696
ns/iter (± 12567378
)354293010
ns/iter (± 4659703
)1.03
es/minify/libraries/typescript
2577839705
ns/iter (± 13513438
)2462938138
ns/iter (± 7532195
)1.05
es/minify/libraries/victory
604721027
ns/iter (± 6666373
)551092666
ns/iter (± 13309865
)1.10
es/minify/libraries/vue
121115283
ns/iter (± 2878289
)115660795
ns/iter (± 1088275
)1.05
es/visitor/compare/clone
2333069
ns/iter (± 11452
)2292927
ns/iter (± 19514
)1.02
es/visitor/compare/visit_mut_span
2708603
ns/iter (± 6975
)2662100
ns/iter (± 9043
)1.02
es/visitor/compare/visit_mut_span_panic
2733576
ns/iter (± 6323
)2718794
ns/iter (± 7833
)1.01
es/visitor/compare/fold_span
3840092
ns/iter (± 8983
)3791228
ns/iter (± 7867
)1.01
es/visitor/compare/fold_span_panic
3988930
ns/iter (± 16142
)3935086
ns/iter (± 21009
)1.01
es/lexer/colors
15315
ns/iter (± 11
)15802
ns/iter (± 24
)0.97
es/lexer/angular
7374241
ns/iter (± 5203
)7706225
ns/iter (± 3629
)0.96
es/lexer/backbone
982291
ns/iter (± 638
)987703
ns/iter (± 335
)0.99
es/lexer/jquery
5536021
ns/iter (± 1408
)5558041
ns/iter (± 2935
)1.00
es/lexer/jquery mobile
8496848
ns/iter (± 3012
)8563667
ns/iter (± 15288
)0.99
es/lexer/mootools
4392421
ns/iter (± 21092
)4405167
ns/iter (± 1440
)1.00
es/lexer/underscore
826173
ns/iter (± 2193
)828422
ns/iter (± 191
)1.00
es/lexer/three
26077684
ns/iter (± 9913
)26184632
ns/iter (± 97682
)1.00
es/lexer/yui
4653886
ns/iter (± 3426
)4736239
ns/iter (± 1412
)0.98
es/parser/colors
29477
ns/iter (± 18
)29320
ns/iter (± 48
)1.01
es/parser/angular
15677874
ns/iter (± 220113
)16164085
ns/iter (± 191455
)0.97
es/parser/backbone
2247605
ns/iter (± 14429
)2251989
ns/iter (± 13392
)1.00
es/parser/jquery
12548874
ns/iter (± 119709
)12328424
ns/iter (± 110230
)1.02
es/parser/jquery mobile
20327311
ns/iter (± 297493
)19813236
ns/iter (± 326616
)1.03
es/parser/mootools
9376481
ns/iter (± 53397
)9360948
ns/iter (± 25111
)1.00
es/parser/underscore
1896791
ns/iter (± 11096
)1902482
ns/iter (± 9573
)1.00
es/parser/three
57569070
ns/iter (± 129948
)56960006
ns/iter (± 340948
)1.01
es/parser/yui
9461557
ns/iter (± 178489
)9370159
ns/iter (± 85883
)1.01
es/preset-env/usage/builtin_type
142411
ns/iter (± 34306
)137314
ns/iter (± 31332
)1.04
es/preset-env/usage/property
21078
ns/iter (± 135
)21021
ns/iter (± 83
)1.00
es/resolver/typescript
120544105
ns/iter (± 3341382
)115440637
ns/iter (± 1890716
)1.04
es/fixer/typescript
81278461
ns/iter (± 822772
)79870747
ns/iter (± 1762029
)1.02
es/hygiene/typescript
174011916
ns/iter (± 1973410
)170987935
ns/iter (± 2190356
)1.02
es/resolver_with_hygiene/typescript
316261369
ns/iter (± 3063587
)317424798
ns/iter (± 1680812
)1.00
es/visitor/base-perf/module_clone
79819
ns/iter (± 1637
)78496
ns/iter (± 1025
)1.02
es/visitor/base-perf/fold_empty
88782
ns/iter (± 1287
)88543
ns/iter (± 1541
)1.00
es/visitor/base-perf/fold_noop_impl_all
90342
ns/iter (± 1836
)90254
ns/iter (± 671
)1.00
es/visitor/base-perf/fold_noop_impl_vec
91073
ns/iter (± 1127
)89537
ns/iter (± 1485
)1.02
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)56
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed_clone
54
ns/iter (± 0
)53
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_boxed
101
ns/iter (± 0
)100
ns/iter (± 0
)1.01
es/visitor/base-perf/boxing_unboxed
98
ns/iter (± 0
)96
ns/iter (± 0
)1.02
es/visitor/base-perf/visit_contains_this
3476
ns/iter (± 93
)3411
ns/iter (± 79
)1.02
es/base/parallel/resolver/typescript
6352565857
ns/iter (± 354731913
)6996883744
ns/iter (± 432104603
)0.91
es/base/parallel/hygiene/typescript
2009172220
ns/iter (± 28090662
)1969916963
ns/iter (± 33895076
)1.02
misc/visitors/time-complexity/time 5
93
ns/iter (± 0
)93
ns/iter (± 0
)1
misc/visitors/time-complexity/time 10
308
ns/iter (± 3
)308
ns/iter (± 3
)1
misc/visitors/time-complexity/time 15
678
ns/iter (± 1
)620
ns/iter (± 19
)1.09
misc/visitors/time-complexity/time 20
1158
ns/iter (± 17
)1134
ns/iter (± 16
)1.02
misc/visitors/time-complexity/time 40
5738
ns/iter (± 44
)5781
ns/iter (± 32
)0.99
misc/visitors/time-complexity/time 60
12946
ns/iter (± 105
)12953
ns/iter (± 126
)1.00
es/full-target/es2016
247960
ns/iter (± 579
)250053
ns/iter (± 245
)0.99
es/full-target/es2017
240579
ns/iter (± 436
)242770
ns/iter (± 290
)0.99
es/full-target/es2018
230277
ns/iter (± 429
)231911
ns/iter (± 198
)0.99
es2020_nullish_coalescing
91904
ns/iter (± 510
)90951
ns/iter (± 562
)1.01
es2020_optional_chaining
124121
ns/iter (± 520
)123236
ns/iter (± 558
)1.01
es2022_class_properties
146341
ns/iter (± 147
)147103
ns/iter (± 277
)0.99
es2018_object_rest_spread
95183
ns/iter (± 213
)94693
ns/iter (± 152
)1.01
es2019_optional_catch_binding
84737
ns/iter (± 133
)84113
ns/iter (± 213
)1.01
es2017_async_to_generator
85099
ns/iter (± 191
)84910
ns/iter (± 145
)1.00
es2016_exponentiation
89437
ns/iter (± 270
)89031
ns/iter (± 226
)1.00
es2015_arrow
93670
ns/iter (± 210
)93385
ns/iter (± 182
)1.00
es2015_block_scoped_fn
91314
ns/iter (± 183
)90657
ns/iter (± 220
)1.01
es2015_block_scoping
168548
ns/iter (± 201
)168926
ns/iter (± 127
)1.00
This comment was automatically generated by workflow using github-action-benchmark.