1
1
use anyhow:: Error ;
2
+ use serde:: { Deserialize , Serialize } ;
2
3
use wasmer:: { Module , Store } ;
3
4
4
5
/// Creates an instnace of [Store].
@@ -44,7 +45,7 @@ pub trait PluginModuleBytes {
44
45
}
45
46
46
47
/// A struct for the plugin contains raw bytes can be compiled into Wasm Module.
47
- #[ derive( Clone ) ]
48
+ #[ derive( Debug , Clone , Eq , Serialize , Deserialize , PartialEq ) ]
48
49
pub struct RawPluginModuleBytes {
49
50
plugin_name : String ,
50
51
bytes : Vec < u8 > ,
@@ -74,18 +75,29 @@ impl RawPluginModuleBytes {
74
75
/// A struct for the plugin contains pre-compiled binary.
75
76
/// This is for the cases would like to reuse the compiled module, or either
76
77
/// load from FileSystemCache.
78
+ #[ derive( Debug , Serialize , Deserialize , PartialEq ) ]
77
79
pub struct CompiledPluginModuleBytes {
78
80
plugin_name : String ,
79
- bytes : wasmer:: Module ,
80
- store : wasmer:: Store ,
81
+ #[ serde( skip) ]
82
+ bytes : Option < wasmer:: Module > ,
83
+ #[ serde( skip) ]
84
+ store : Option < wasmer:: Store > ,
81
85
}
82
86
87
+ impl Eq for CompiledPluginModuleBytes { }
88
+
83
89
impl Clone for CompiledPluginModuleBytes {
84
90
fn clone ( & self ) -> Self {
85
91
Self {
86
92
plugin_name : self . plugin_name . clone ( ) ,
87
93
bytes : self . bytes . clone ( ) ,
88
- store : Store :: new ( self . store . engine ( ) . clone ( ) ) ,
94
+ store : Some ( Store :: new (
95
+ self . store
96
+ . as_ref ( )
97
+ . expect ( "Store should be available" )
98
+ . engine ( )
99
+ . clone ( ) ,
100
+ ) ) ,
89
101
}
90
102
}
91
103
}
@@ -94,8 +106,8 @@ impl CompiledPluginModuleBytes {
94
106
pub fn new ( identifier : String , bytes : wasmer:: Module , store : wasmer:: Store ) -> Self {
95
107
Self {
96
108
plugin_name : identifier,
97
- bytes,
98
- store,
109
+ bytes : Some ( bytes ) ,
110
+ store : Some ( store ) ,
99
111
}
100
112
}
101
113
}
@@ -115,6 +127,18 @@ impl PluginModuleBytes for CompiledPluginModuleBytes {
115
127
}
116
128
117
129
fn compile_module ( & self ) -> Result < ( Store , Module ) , Error > {
118
- Ok ( ( Store :: new ( self . store . engine ( ) . clone ( ) ) , self . bytes . clone ( ) ) )
130
+ Ok ( (
131
+ Store :: new (
132
+ self . store
133
+ . as_ref ( )
134
+ . expect ( "Store should be available" )
135
+ . engine ( )
136
+ . clone ( ) ,
137
+ ) ,
138
+ self . bytes
139
+ . as_ref ( )
140
+ . expect ( "Module should be available" )
141
+ . clone ( ) ,
142
+ ) )
119
143
}
120
144
}
1 commit comments
github-actions[bot] commentedon May 20, 2023
Benchmark
es/full/bugs-1
296455
ns/iter (± 8964
)302452
ns/iter (± 6309
)0.98
es/full/minify/libraries/antd
1632064062
ns/iter (± 15960821
)1536000724
ns/iter (± 50043402
)1.06
es/full/minify/libraries/d3
306555645
ns/iter (± 8443683
)340052497
ns/iter (± 15358878
)0.90
es/full/minify/libraries/echarts
1265032837
ns/iter (± 13653566
)1308856788
ns/iter (± 48455110
)0.97
es/full/minify/libraries/jquery
92298180
ns/iter (± 599942
)99934621
ns/iter (± 3929112
)0.92
es/full/minify/libraries/lodash
108444778
ns/iter (± 1073311
)106846184
ns/iter (± 4779092
)1.01
es/full/minify/libraries/moment
53455140
ns/iter (± 267660
)53013554
ns/iter (± 305719
)1.01
es/full/minify/libraries/react
19360939
ns/iter (± 116496
)20178562
ns/iter (± 486797
)0.96
es/full/minify/libraries/terser
255298183
ns/iter (± 2190058
)276056052
ns/iter (± 12893247
)0.92
es/full/minify/libraries/three
448550126
ns/iter (± 6735398
)484009078
ns/iter (± 12261810
)0.93
es/full/minify/libraries/typescript
3118573901
ns/iter (± 17503032
)2958529349
ns/iter (± 94405840
)1.05
es/full/minify/libraries/victory
690080601
ns/iter (± 12367938
)720039933
ns/iter (± 28652347
)0.96
es/full/minify/libraries/vue
134682349
ns/iter (± 1699431
)145381148
ns/iter (± 5747170
)0.93
es/full/codegen/es3
33472
ns/iter (± 20
)33422
ns/iter (± 67
)1.00
es/full/codegen/es5
33531
ns/iter (± 64
)33480
ns/iter (± 78
)1.00
es/full/codegen/es2015
33483
ns/iter (± 77
)33490
ns/iter (± 73
)1.00
es/full/codegen/es2016
33495
ns/iter (± 87
)33481
ns/iter (± 56
)1.00
es/full/codegen/es2017
33530
ns/iter (± 47
)33434
ns/iter (± 80
)1.00
es/full/codegen/es2018
33517
ns/iter (± 66
)33502
ns/iter (± 28
)1.00
es/full/codegen/es2019
33505
ns/iter (± 135
)33497
ns/iter (± 55
)1.00
es/full/codegen/es2020
33544
ns/iter (± 76
)33491
ns/iter (± 79
)1.00
es/full/all/es3
178715071
ns/iter (± 2393852
)180073957
ns/iter (± 3620581
)0.99
es/full/all/es5
176198071
ns/iter (± 3063876
)174777212
ns/iter (± 4064080
)1.01
es/full/all/es2015
140607290
ns/iter (± 2115274
)137081118
ns/iter (± 1230994
)1.03
es/full/all/es2016
137694695
ns/iter (± 2077506
)135142243
ns/iter (± 1814260
)1.02
es/full/all/es2017
136737462
ns/iter (± 1495959
)129101587
ns/iter (± 2060725
)1.06
es/full/all/es2018
131943493
ns/iter (± 823368
)125165938
ns/iter (± 1271878
)1.05
es/full/all/es2019
130242144
ns/iter (± 1555470
)127637718
ns/iter (± 2458126
)1.02
es/full/all/es2020
119337424
ns/iter (± 867832
)119762284
ns/iter (± 1515273
)1.00
es/full/parser
521895
ns/iter (± 7476
)521431
ns/iter (± 10700
)1.00
es/full/base/fixer
22473
ns/iter (± 50
)22625
ns/iter (± 24
)0.99
es/full/base/resolver_and_hygiene
85300
ns/iter (± 159
)85159
ns/iter (± 100
)1.00
serialization of serde
123
ns/iter (± 0
)123
ns/iter (± 0
)1
css/minify/libraries/bootstrap
27431705
ns/iter (± 122627
)28664676
ns/iter (± 776003
)0.96
css/visitor/compare/clone
2164539
ns/iter (± 17267
)2224860
ns/iter (± 45202
)0.97
css/visitor/compare/visit_mut_span
2326583
ns/iter (± 9766
)2410560
ns/iter (± 78943
)0.97
css/visitor/compare/visit_mut_span_panic
2411632
ns/iter (± 5071
)2354620
ns/iter (± 34127
)1.02
css/visitor/compare/fold_span
3132107
ns/iter (± 15582
)3093154
ns/iter (± 64692
)1.01
css/visitor/compare/fold_span_panic
3273701
ns/iter (± 9829
)3407013
ns/iter (± 51051
)0.96
css/lexer/bootstrap_5_1_3
5167781
ns/iter (± 9313
)5172480
ns/iter (± 12111
)1.00
css/lexer/foundation_6_7_4
4406970
ns/iter (± 2677
)4358925
ns/iter (± 1592
)1.01
css/lexer/tailwind_3_1_1
837125
ns/iter (± 837
)826191
ns/iter (± 420
)1.01
css/parser/bootstrap_5_1_3
20979863
ns/iter (± 86599
)20901136
ns/iter (± 273158
)1.00
css/parser/foundation_6_7_4
16907052
ns/iter (± 59094
)16685383
ns/iter (± 337865
)1.01
css/parser/tailwind_3_1_1
3232723
ns/iter (± 3771
)3235123
ns/iter (± 6494
)1.00
es/codegen/colors
731872
ns/iter (± 394587
)731473
ns/iter (± 395841
)1.00
es/codegen/large
3136960
ns/iter (± 1662629
)3171646
ns/iter (± 1681715
)0.99
es/codegen/with-parser/colors
48864
ns/iter (± 406
)48427
ns/iter (± 548
)1.01
es/codegen/with-parser/large
513515
ns/iter (± 1720
)510493
ns/iter (± 1815
)1.01
es/minify/libraries/antd
1453957876
ns/iter (± 11683175
)1334695618
ns/iter (± 66590498
)1.09
es/minify/libraries/d3
270335656
ns/iter (± 4950241
)293314767
ns/iter (± 15451895
)0.92
es/minify/libraries/echarts
1125734763
ns/iter (± 13551832
)1137305041
ns/iter (± 54834848
)0.99
es/minify/libraries/jquery
82399846
ns/iter (± 881352
)88108620
ns/iter (± 2358006
)0.94
es/minify/libraries/lodash
98201738
ns/iter (± 949521
)98060902
ns/iter (± 1940991
)1.00
es/minify/libraries/moment
47812242
ns/iter (± 332896
)49212074
ns/iter (± 1589861
)0.97
es/minify/libraries/react
17539281
ns/iter (± 145386
)18457020
ns/iter (± 377183
)0.95
es/minify/libraries/terser
218376395
ns/iter (± 2436349
)243183294
ns/iter (± 7086235
)0.90
es/minify/libraries/three
380175870
ns/iter (± 5302334
)415304771
ns/iter (± 23033517
)0.92
es/minify/libraries/typescript
2725349691
ns/iter (± 12443800
)2533786310
ns/iter (± 79446762
)1.08
es/minify/libraries/victory
586220271
ns/iter (± 6536953
)633710619
ns/iter (± 37326548
)0.93
es/minify/libraries/vue
122405173
ns/iter (± 2296100
)130911879
ns/iter (± 5768125
)0.94
es/visitor/compare/clone
2353643
ns/iter (± 17032
)2430684
ns/iter (± 30130
)0.97
es/visitor/compare/visit_mut_span
2712920
ns/iter (± 3616
)2695064
ns/iter (± 31396
)1.01
es/visitor/compare/visit_mut_span_panic
2759064
ns/iter (± 6941
)2738279
ns/iter (± 61020
)1.01
es/visitor/compare/fold_span
3820675
ns/iter (± 10792
)4012325
ns/iter (± 73698
)0.95
es/visitor/compare/fold_span_panic
3969351
ns/iter (± 13495
)4154050
ns/iter (± 75150
)0.96
es/lexer/colors
13179
ns/iter (± 50
)13102
ns/iter (± 16
)1.01
es/lexer/angular
6436058
ns/iter (± 29868
)6421816
ns/iter (± 7786
)1.00
es/lexer/backbone
798770
ns/iter (± 525
)792089
ns/iter (± 598
)1.01
es/lexer/jquery
4460884
ns/iter (± 1649
)4463784
ns/iter (± 2300
)1.00
es/lexer/jquery mobile
6904383
ns/iter (± 8334
)6939533
ns/iter (± 6448
)0.99
es/lexer/mootools
3504082
ns/iter (± 3534
)3492514
ns/iter (± 1853
)1.00
es/lexer/underscore
657461
ns/iter (± 691
)657295
ns/iter (± 338
)1.00
es/lexer/three
21050041
ns/iter (± 24877
)21042675
ns/iter (± 43255
)1.00
es/lexer/yui
3890464
ns/iter (± 1449
)3879288
ns/iter (± 1603
)1.00
es/parser/colors
29165
ns/iter (± 69
)28709
ns/iter (± 47
)1.02
es/parser/angular
15135065
ns/iter (± 125844
)16158197
ns/iter (± 380695
)0.94
es/parser/backbone
2177660
ns/iter (± 12086
)2177398
ns/iter (± 17779
)1.00
es/parser/jquery
11805144
ns/iter (± 85488
)12547185
ns/iter (± 565148
)0.94
es/parser/jquery mobile
18462527
ns/iter (± 414864
)20297668
ns/iter (± 719086
)0.91
es/parser/mootools
9015640
ns/iter (± 22600
)9064769
ns/iter (± 205076
)0.99
es/parser/underscore
1837548
ns/iter (± 8996
)1827364
ns/iter (± 10726
)1.01
es/parser/three
55001588
ns/iter (± 717023
)56545985
ns/iter (± 858751
)0.97
es/parser/yui
9090771
ns/iter (± 60805
)9580337
ns/iter (± 146446
)0.95
es/preset-env/usage/builtin_type
141125
ns/iter (± 34213
)141323
ns/iter (± 34330
)1.00
es/preset-env/usage/property
19674
ns/iter (± 83
)19748
ns/iter (± 114
)1.00
es/resolver/typescript
125098645
ns/iter (± 3422877
)109306615
ns/iter (± 2492239
)1.14
es/fixer/typescript
88655844
ns/iter (± 558809
)81209751
ns/iter (± 956811
)1.09
es/hygiene/typescript
187269327
ns/iter (± 2161497
)175511208
ns/iter (± 5802369
)1.07
es/resolver_with_hygiene/typescript
335941300
ns/iter (± 4072489
)304502401
ns/iter (± 14257709
)1.10
es/visitor/base-perf/module_clone
81052
ns/iter (± 392
)80919
ns/iter (± 381
)1.00
es/visitor/base-perf/fold_empty
90518
ns/iter (± 349
)90371
ns/iter (± 406
)1.00
es/visitor/base-perf/fold_noop_impl_all
91184
ns/iter (± 454
)91017
ns/iter (± 875
)1.00
es/visitor/base-perf/fold_noop_impl_vec
91014
ns/iter (± 161
)90883
ns/iter (± 298
)1.00
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)58
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed_clone
42
ns/iter (± 0
)42
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
104
ns/iter (± 0
)105
ns/iter (± 0
)0.99
es/visitor/base-perf/boxing_unboxed
79
ns/iter (± 0
)79
ns/iter (± 0
)1
es/visitor/base-perf/visit_contains_this
3671
ns/iter (± 78
)3439
ns/iter (± 42
)1.07
es/base/parallel/resolver/typescript
6031800672
ns/iter (± 628447266
)5820947776
ns/iter (± 470268677
)1.04
es/base/parallel/hygiene/typescript
2186966083
ns/iter (± 24883826
)2072425070
ns/iter (± 31196608
)1.06
misc/visitors/time-complexity/time 5
105
ns/iter (± 0
)105
ns/iter (± 0
)1
misc/visitors/time-complexity/time 10
362
ns/iter (± 0
)361
ns/iter (± 2
)1.00
misc/visitors/time-complexity/time 15
710
ns/iter (± 7
)710
ns/iter (± 0
)1
misc/visitors/time-complexity/time 20
1325
ns/iter (± 0
)1326
ns/iter (± 2
)1.00
misc/visitors/time-complexity/time 40
7000
ns/iter (± 25
)7004
ns/iter (± 22
)1.00
misc/visitors/time-complexity/time 60
17817
ns/iter (± 7
)17870
ns/iter (± 25
)1.00
es/full-target/es2016
252726
ns/iter (± 323
)253787
ns/iter (± 1035
)1.00
es/full-target/es2017
245638
ns/iter (± 407
)245641
ns/iter (± 471
)1.00
es/full-target/es2018
235109
ns/iter (± 421
)235445
ns/iter (± 269
)1.00
es2020_nullish_coalescing
93125
ns/iter (± 510
)93401
ns/iter (± 459
)1.00
es2020_optional_chaining
125168
ns/iter (± 295
)124983
ns/iter (± 130
)1.00
es2022_class_properties
149374
ns/iter (± 330
)149632
ns/iter (± 329
)1.00
es2018_object_rest_spread
96182
ns/iter (± 306
)96105
ns/iter (± 189
)1.00
es2019_optional_catch_binding
85228
ns/iter (± 216
)85850
ns/iter (± 154
)0.99
es2017_async_to_generator
85859
ns/iter (± 196
)86326
ns/iter (± 173
)0.99
es2016_exponentiation
90494
ns/iter (± 282
)90853
ns/iter (± 195
)1.00
es2015_arrow
93776
ns/iter (± 70
)94068
ns/iter (± 266
)1.00
es2015_block_scoped_fn
92101
ns/iter (± 267
)92424
ns/iter (± 217
)1.00
es2015_block_scoping
170874
ns/iter (± 294
)170192
ns/iter (± 336
)1.00
This comment was automatically generated by workflow using github-action-benchmark.