Skip to content

Commit 976d1f1

Browse files
authored
Remove secp256k1 benchmark (#481)
* Remove secp256k1 benchmark * Remove secp256k1 test
1 parent 8944714 commit 976d1f1

File tree

7 files changed

+5
-330
lines changed

7 files changed

+5
-330
lines changed

Cargo.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,5 @@ name = "bits_benchmark"
5050
path = "benches/bits_benchmark.rs"
5151
harness = false
5252

53-
[[bench]]
54-
name = "vm_benchmark"
55-
path = "benches/vm_benchmark.rs"
56-
harness = false
57-
5853
[lints.rust]
5954
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_asm)'] }

benches/data/secp256k1_bench

-1.05 MB
Binary file not shown.

benches/data/secp256k1_bench_old

-1.25 MB
Binary file not shown.

benches/vm_benchmark.rs

Lines changed: 0 additions & 156 deletions
This file was deleted.

tests/test_asm.rs

Lines changed: 5 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
#![cfg(has_asm)]
22
use ckb_vm::cost_model::constant_cycles;
3-
use ckb_vm::decoder::{DefaultDecoder, InstDecoder};
3+
use ckb_vm::decoder::InstDecoder;
44
use ckb_vm::error::OutOfBoundKind;
5-
use ckb_vm::machine::asm::traces::{
6-
MemoizedDynamicTraceDecoder, MemoizedFixedTraceDecoder, SimpleFixedTraceDecoder,
7-
};
8-
use ckb_vm::machine::asm::{
9-
AbstractAsmMachine, AsmCoreMachine, AsmDefaultMachineBuilder, AsmMachine,
10-
};
11-
use ckb_vm::machine::{AbstractDefaultMachineBuilder, CoreMachine, VERSION0, VERSION1, VERSION2};
5+
use ckb_vm::machine::asm::traces::SimpleFixedTraceDecoder;
6+
use ckb_vm::machine::asm::{AsmCoreMachine, AsmDefaultMachineBuilder, AsmMachine};
7+
use ckb_vm::machine::{CoreMachine, VERSION0, VERSION1, VERSION2};
128
use ckb_vm::memory::Memory;
139
use ckb_vm::registers::{A0, A1, A2, A3, A4, A5, A7};
1410
use ckb_vm::{Debugger, DefaultMachineRunner, Error, ISA_IMC, Register, SupportMachine, Syscalls};
@@ -463,55 +459,6 @@ fn test_zero_address() {
463459
assert_eq!(result.unwrap(), 0);
464460
}
465461

466-
#[test]
467-
fn test_memoized_secp256k1() {
468-
let isa = ISA_IMC;
469-
let version = VERSION1;
470-
let buffer = fs::read("benches/data/secp256k1_bench").unwrap().into();
471-
let asm_core = <AsmCoreMachine as SupportMachine>::new(isa, version, u64::MAX);
472-
let core = AbstractDefaultMachineBuilder::<_, MemoizedFixedTraceDecoder<DefaultDecoder>>::new(
473-
asm_core,
474-
)
475-
.build();
476-
let mut machine = AbstractAsmMachine::new(core);
477-
let args = [
478-
"secp256k1_bench",
479-
"033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f",
480-
"304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3",
481-
"foo",
482-
"bar",
483-
].into_iter().map(|a| Ok(a.into()));
484-
machine.load_program(&buffer, args).unwrap();
485-
let mut decoder = MemoizedFixedTraceDecoder::new::<u64>(isa, version);
486-
let result = machine.run_with_decoder(&mut decoder);
487-
assert_eq!(result.unwrap(), 0);
488-
}
489-
490-
#[test]
491-
fn test_memoized_dynamic_secp256k1() {
492-
let isa = ISA_IMC;
493-
let version = VERSION1;
494-
let buffer = fs::read("benches/data/secp256k1_bench").unwrap().into();
495-
let asm_core = <AsmCoreMachine as SupportMachine>::new(isa, version, u64::MAX);
496-
let core =
497-
AbstractDefaultMachineBuilder::<_, MemoizedDynamicTraceDecoder<DefaultDecoder>>::new(
498-
asm_core,
499-
)
500-
.build();
501-
let mut machine = AbstractAsmMachine::new(core);
502-
let args = [
503-
"secp256k1_bench",
504-
"033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f",
505-
"304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3",
506-
"foo",
507-
"bar",
508-
].into_iter().map(|a| Ok(a.into()));
509-
machine.load_program(&buffer, args).unwrap();
510-
let mut decoder = MemoizedDynamicTraceDecoder::new::<u64>(isa, version);
511-
let result = machine.run_with_decoder(&mut decoder);
512-
assert_eq!(result.unwrap(), 0);
513-
}
514-
515462
#[test]
516463
pub fn test_big_binary() {
517464
let buffer = fs::read("tests/programs/big_binary").unwrap().into();
@@ -535,7 +482,7 @@ pub fn test_big_binary() {
535482
fn test_fast_memory_initialization_bug() {
536483
let isa = ISA_IMC;
537484
let version = VERSION1;
538-
let buffer = fs::read("benches/data/secp256k1_bench").unwrap().into();
485+
let buffer = fs::read("tests/programs/big_binary").unwrap().into();
539486
let asm_core = <AsmCoreMachine as SupportMachine>::new(isa, version, u64::MAX);
540487
let core = AsmDefaultMachineBuilder::new(asm_core).build();
541488
let mut machine = AsmMachine::new(core);

tests/test_mop.rs

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
pub mod machine_build;
2-
use bytes::Bytes;
32
use ckb_vm::error::OutOfBoundKind;
43
use ckb_vm::machine::{VERSION1, VERSION2};
54
use ckb_vm::{
@@ -160,66 +159,6 @@ pub fn test_mop_ld_32_constants() {
160159
}
161160
}
162161

163-
#[test]
164-
#[cfg_attr(miri, ignore)]
165-
pub fn test_mop_secp256k1() {
166-
let args = vec![
167-
Bytes::from("033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f"),
168-
Bytes::from(
169-
"304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3",
170-
),
171-
Bytes::from("foo"),
172-
Bytes::from("bar"),
173-
];
174-
175-
let mut machine = machine_build::int(
176-
"benches/data/secp256k1_bench",
177-
args.clone(),
178-
VERSION1,
179-
ISA_IMC | ISA_B | ISA_MOP,
180-
);
181-
let ret = machine.run();
182-
assert!(ret.is_ok());
183-
assert_eq!(ret.unwrap(), 0);
184-
assert_eq!(machine.machine.cycles(), 611871);
185-
186-
let mut machine = machine_build::int(
187-
"benches/data/secp256k1_bench",
188-
args.clone(),
189-
VERSION2,
190-
ISA_IMC | ISA_B | ISA_MOP,
191-
);
192-
let ret = machine.run();
193-
assert!(ret.is_ok());
194-
assert_eq!(ret.unwrap(), 0);
195-
assert_eq!(machine.machine.cycles(), 576608);
196-
197-
#[cfg(has_asm)]
198-
{
199-
let mut machine_asm = machine_build::asm(
200-
"benches/data/secp256k1_bench",
201-
args.clone(),
202-
VERSION1,
203-
ISA_IMC | ISA_B | ISA_MOP,
204-
);
205-
let ret_asm = machine_asm.run();
206-
assert!(ret_asm.is_ok());
207-
assert_eq!(ret_asm.unwrap(), 0);
208-
assert_eq!(machine_asm.machine.cycles(), 611871);
209-
210-
let mut machine_asm = machine_build::asm(
211-
"benches/data/secp256k1_bench",
212-
args.clone(),
213-
VERSION2,
214-
ISA_IMC | ISA_B | ISA_MOP,
215-
);
216-
let ret_asm = machine_asm.run();
217-
assert!(ret_asm.is_ok());
218-
assert_eq!(ret_asm.unwrap(), 0);
219-
assert_eq!(machine_asm.machine.cycles(), 576608);
220-
}
221-
}
222-
223162
#[test]
224163
pub fn test_mop_adc() {
225164
let mut machine =

tests/test_resume2.rs

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -56,56 +56,6 @@ fn test_resume2_asm_2_asm() {
5656
resume_asm_2_asm(VERSION0, 8126917);
5757
}
5858

59-
#[test]
60-
fn test_resume2_secp256k1_asm_2_interpreter_2_asm() {
61-
let data_source = load_program("benches/data/secp256k1_bench");
62-
63-
let version = VERSION1;
64-
let except_cycles = 613073;
65-
66-
let mut machine1 = MachineTy::Asm.build(data_source.clone(), version);
67-
machine1.set_max_cycles(100000);
68-
machine1.load_program([
69-
"secp256k1_bench",
70-
"033f8cf9c4d51a33206a6c1c6b27d2cc5129daa19dbd1fc148d395284f6b26411f",
71-
"304402203679d909f43f073c7c1dcf8468a485090589079ee834e6eed92fea9b09b06a2402201e46f1075afa18f306715e7db87493e7b7e779569aa13c64ab3d09980b3560a3",
72-
"foo",
73-
"bar",
74-
].into_iter().map(|e| Ok(e.into()))).unwrap();
75-
let result1 = machine1.run();
76-
assert_eq!(result1.unwrap_err(), Error::CyclesExceeded);
77-
let snapshot1 = machine1.snapshot().unwrap();
78-
assert!(!snapshot1.pages_from_source.is_empty());
79-
80-
let mut machine2 = MachineTy::Interpreter.build(data_source.clone(), version);
81-
machine2.resume(snapshot1).unwrap();
82-
83-
assert_eq!(machine1.cycles(), machine2.cycles());
84-
assert_eq!(machine1.full_registers(), machine2.full_registers());
85-
#[cfg(not(feature = "enable-chaos-mode-by-default"))]
86-
assert_eq!(machine1.full_memory(), machine2.full_memory());
87-
88-
machine2.set_max_cycles(100000 + 200000);
89-
let result2 = machine2.run();
90-
assert_eq!(result2.unwrap_err(), Error::CyclesExceeded);
91-
let snapshot2 = machine2.snapshot().unwrap();
92-
assert!(!snapshot2.pages_from_source.is_empty());
93-
94-
let mut machine3 = MachineTy::Asm.build(data_source, version);
95-
machine3.resume(snapshot2).unwrap();
96-
97-
assert_eq!(machine2.cycles(), machine3.cycles());
98-
assert_eq!(machine2.full_registers(), machine3.full_registers());
99-
#[cfg(not(feature = "enable-chaos-mode-by-default"))]
100-
assert_eq!(machine2.full_memory(), machine3.full_memory());
101-
102-
machine3.set_max_cycles(100000 + 200000 + 400000);
103-
let result3 = machine3.run();
104-
let cycles3 = machine3.cycles();
105-
assert_eq!(result3.unwrap(), 0);
106-
assert_eq!(cycles3, except_cycles);
107-
}
108-
10959
#[test]
11060
fn test_resume2_load_data_asm_2_interpreter() {
11161
let data_source = load_program("tests/programs/resume2_load_data");

0 commit comments

Comments
 (0)