@@ -21,12 +21,13 @@ use std::fs;
2121fn interpret_benchmark ( c : & mut Criterion ) {
2222 c. bench_function ( "interpret secp256k1_bench" , |b| {
2323 let buffer = fs:: read ( "benches/data/secp256k1_bench" ) . unwrap ( ) . into ( ) ;
24- let args: Vec < Bytes > = vec ! [ "secp256k1_bench" ,
25- "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" ,
26- "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" ,
27- "foo" ,
28- "bar" ] . into_iter ( ) . map ( |a| a. into ( ) ) . collect ( ) ;
29-
24+ let args: Vec < Bytes > = vec ! [
25+ "secp256k1_bench" ,
26+ "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" ,
27+ "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" ,
28+ "foo" ,
29+ "bar"
30+ ] . into_iter ( ) . map ( |a| a. into ( ) ) . collect ( ) ;
3031 b. iter ( || run :: < u64 , SparseMemory < u64 > > ( & buffer, & args[ ..] ) . unwrap ( ) ) ;
3132 } ) ;
3233}
@@ -35,17 +36,18 @@ fn interpret_benchmark(c: &mut Criterion) {
3536fn asm_benchmark ( c : & mut Criterion ) {
3637 c. bench_function ( "interpret secp256k1_bench via assembly" , |b| {
3738 let buffer = fs:: read ( "benches/data/secp256k1_bench" ) . unwrap ( ) . into ( ) ;
38- let args: Vec < Bytes > = vec ! [ "secp256k1_bench" ,
39- "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" ,
40- "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" ,
41- "foo" ,
42- "bar" ] . into_iter ( ) . map ( |a| a. into ( ) ) . collect ( ) ;
43-
39+ let args = [
40+ Ok ( "secp256k1_bench" . into ( ) ) ,
41+ Ok ( "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" . into ( ) ) ,
42+ Ok ( "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" . into ( ) ) ,
43+ Ok ( "foo" . into ( ) ) ,
44+ Ok ( "bar" . into ( ) ) ,
45+ ] . into_iter ( ) ;
4446 b. iter ( || {
4547 let asm_core = AsmCoreMachine :: new ( ISA_IMC , VERSION0 , u64:: MAX ) ;
4648 let core = DefaultMachineBuilder :: new ( asm_core) . build ( ) ;
4749 let mut machine = AsmMachine :: new ( core) ;
48- machine. load_program ( & buffer, & args[ .. ] ) . unwrap ( ) ;
50+ machine. load_program ( & buffer, args. clone ( ) ) . unwrap ( ) ;
4951 machine. run ( ) . unwrap ( )
5052 } ) ;
5153 } ) ;
@@ -55,17 +57,19 @@ fn asm_benchmark(c: &mut Criterion) {
5557fn mop_benchmark ( c : & mut Criterion ) {
5658 c. bench_function ( "interpret secp256k1_bench via assembly mop" , |b| {
5759 let buffer = fs:: read ( "benches/data/secp256k1_bench" ) . unwrap ( ) . into ( ) ;
58- let args: Vec < Bytes > = vec ! [ "secp256k1_bench" ,
59- "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" ,
60- "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" ,
61- "foo" ,
62- "bar" ] . into_iter ( ) . map ( |a| a. into ( ) ) . collect ( ) ;
60+ let args = [
61+ Ok ( "secp256k1_bench" . into ( ) ) ,
62+ Ok ( "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" . into ( ) ) ,
63+ Ok ( "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" . into ( ) ) ,
64+ Ok ( "foo" . into ( ) ) ,
65+ Ok ( "bar" . into ( ) ) ,
66+ ] . into_iter ( ) ;
6367 b. iter ( || {
6468 let asm_core = AsmCoreMachine :: new ( ISA_IMC | ISA_B | ISA_MOP , VERSION2 , u64:: MAX ) ;
6569 let core = DefaultMachineBuilder :: < Box < AsmCoreMachine > > :: new ( asm_core)
6670 . build ( ) ;
6771 let mut machine = AsmMachine :: new ( core) ;
68- machine. load_program ( & buffer, & args) . unwrap ( ) ;
72+ machine. load_program ( & buffer, args. clone ( ) ) . unwrap ( ) ;
6973 machine. run ( ) . unwrap ( )
7074 } ) ;
7175 } ) ;
@@ -77,25 +81,27 @@ fn mop_memoized_benchmark(c: &mut Criterion) {
7781 let isa = ISA_IMC | ISA_B | ISA_MOP ;
7882 let version = VERSION2 ;
7983 let buffer = fs:: read ( "benches/data/secp256k1_bench" ) . unwrap ( ) . into ( ) ;
80- let args: Vec < Bytes > = vec ! [ "secp256k1_bench" ,
81- "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" ,
82- "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" ,
83- "foo" ,
84- "bar" ] . into_iter ( ) . map ( |a| a. into ( ) ) . collect ( ) ;
84+ let args = [
85+ Ok ( "secp256k1_bench" . into ( ) ) ,
86+ Ok ( "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" . into ( ) ) ,
87+ Ok ( "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" . into ( ) ) ,
88+ Ok ( "foo" . into ( ) ) ,
89+ Ok ( "bar" . into ( ) ) ,
90+ ] . into_iter ( ) ;
8591 let mut decoder = MemoizedFixedTraceDecoder :: new ( build_decoder :: < u64 > ( isa, version) ) ;
8692 let asm_core = AsmCoreMachine :: new ( isa, version, u64:: MAX ) ;
8793 let core = DefaultMachineBuilder :: < Box < AsmCoreMachine > > :: new ( asm_core)
8894 . build ( ) ;
8995 let mut machine = AsmMachine :: new ( core) ;
90- machine. load_program ( & buffer, & args) . unwrap ( ) ;
96+ machine. load_program ( & buffer, args. clone ( ) ) . unwrap ( ) ;
9197 machine. run_with_decoder ( & mut decoder) . unwrap ( ) ;
9298
9399 b. iter ( || {
94100 let asm_core = AsmCoreMachine :: new ( isa, version, u64:: MAX ) ;
95101 let core = DefaultMachineBuilder :: < Box < AsmCoreMachine > > :: new ( asm_core)
96102 . build ( ) ;
97103 let mut machine = AsmMachine :: new ( core) ;
98- machine. load_program ( & buffer, & args) . unwrap ( ) ;
104+ machine. load_program ( & buffer, args. clone ( ) ) . unwrap ( ) ;
99105 decoder. clear_traces ( ) ;
100106 machine. run_with_decoder ( & mut decoder) . unwrap ( )
101107 } ) ;
@@ -108,25 +114,27 @@ fn mop_memoized_dynamic_benchmark(c: &mut Criterion) {
108114 let isa = ISA_IMC | ISA_B | ISA_MOP ;
109115 let version = VERSION2 ;
110116 let buffer = fs:: read ( "benches/data/secp256k1_bench" ) . unwrap ( ) . into ( ) ;
111- let args: Vec < Bytes > = vec ! [ "secp256k1_bench" ,
112- "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" ,
113- "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" ,
114- "foo" ,
115- "bar" ] . into_iter ( ) . map ( |a| a. into ( ) ) . collect ( ) ;
117+ let args = [
118+ Ok ( "secp256k1_bench" . into ( ) ) ,
119+ Ok ( "033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f" . into ( ) ) ,
120+ Ok ( "304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3" . into ( ) ) ,
121+ Ok ( "foo" . into ( ) ) ,
122+ Ok ( "bar" . into ( ) ) ,
123+ ] . into_iter ( ) ;
116124 let mut decoder = MemoizedDynamicTraceDecoder :: new ( build_decoder :: < u64 > ( isa, version) ) ;
117125 let asm_core = AsmCoreMachine :: new ( isa, version, u64:: MAX ) ;
118126 let core = DefaultMachineBuilder :: < Box < AsmCoreMachine > > :: new ( asm_core)
119127 . build ( ) ;
120128 let mut machine = AsmMachine :: new ( core) ;
121- machine. load_program ( & buffer, & args) . unwrap ( ) ;
129+ machine. load_program ( & buffer, args. clone ( ) ) . unwrap ( ) ;
122130 machine. run_with_decoder ( & mut decoder) . unwrap ( ) ;
123131
124132 b. iter ( || {
125133 let asm_core = AsmCoreMachine :: new ( isa, version, u64:: MAX ) ;
126134 let core = DefaultMachineBuilder :: < Box < AsmCoreMachine > > :: new ( asm_core)
127135 . build ( ) ;
128136 let mut machine = AsmMachine :: new ( core) ;
129- machine. load_program ( & buffer, & args) . unwrap ( ) ;
137+ machine. load_program ( & buffer, args. clone ( ) ) . unwrap ( ) ;
130138 decoder. clear_traces ( ) ;
131139 machine. run_with_decoder ( & mut decoder) . unwrap ( )
132140 } ) ;
0 commit comments