* git mv src/wasm-lib rust Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv wasm-lib to workspace Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv kcl-lib Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv derive docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * resolve file paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * clippy Signed-off-by: Jess Frazelle <github@jessfraz.com> * move more shit Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * make yarn build:wasm work Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix scripts Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> * better references Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix cargo ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix reference Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * cargo sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix script Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix a dep Signed-off-by: Jess Frazelle <github@jessfraz.com> * sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove unused deps Signed-off-by: Jess Frazelle <github@jessfraz.com> * Revert "remove unused deps" This reverts commit fbabdb062e275fd5cbc1476f8480a1afee15d972. * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * deps; Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
use criterion::{criterion_group, criterion_main, Criterion};
 | 
						|
 | 
						|
pub fn bench_digest(c: &mut Criterion) {
 | 
						|
    for (name, file) in [
 | 
						|
        ("pipes_on_pipes", PIPES_PROGRAM),
 | 
						|
        ("big_kitt", KITT_PROGRAM),
 | 
						|
        ("cube", CUBE_PROGRAM),
 | 
						|
        ("math", MATH_PROGRAM),
 | 
						|
        ("mike_stress_test", MIKE_STRESS_TEST_PROGRAM),
 | 
						|
        ("lsystem", LSYSTEM_PROGRAM),
 | 
						|
    ] {
 | 
						|
        let prog = kcl_lib::Program::parse_no_errs(file).unwrap();
 | 
						|
        c.bench_function(&format!("digest_{name}"), move |b| {
 | 
						|
            let prog = prog.clone();
 | 
						|
 | 
						|
            b.iter(move || {
 | 
						|
                let mut prog = prog.clone();
 | 
						|
                prog.compute_digest();
 | 
						|
            });
 | 
						|
        });
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
criterion_group!(benches, bench_digest);
 | 
						|
criterion_main!(benches);
 | 
						|
 | 
						|
const KITT_PROGRAM: &str = include_str!("../e2e/executor/inputs/kittycad_svg.kcl");
 | 
						|
const PIPES_PROGRAM: &str = include_str!("../e2e/executor/inputs/pipes_on_pipes.kcl");
 | 
						|
const CUBE_PROGRAM: &str = include_str!("../e2e/executor/inputs/cube.kcl");
 | 
						|
const MATH_PROGRAM: &str = include_str!("../e2e/executor/inputs/math.kcl");
 | 
						|
const MIKE_STRESS_TEST_PROGRAM: &str = include_str!("../tests/mike_stress_test/input.kcl");
 | 
						|
const LSYSTEM_PROGRAM: &str = include_str!("../e2e/executor/inputs/lsystem.kcl");
 |