From 6f8c02ac0473c2e4ccbc27831dfbd78c0d27cc34 Mon Sep 17 00:00:00 2001 From: sofia Date: Tue, 15 Jul 2025 19:43:23 +0300 Subject: [PATCH] Add compilation time to cli --- reid/examples/cli.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/reid/examples/cli.rs b/reid/examples/cli.rs index daf8c6a..abf53df 100644 --- a/reid/examples/cli.rs +++ b/reid/examples/cli.rs @@ -12,6 +12,8 @@ fn main() -> Result<(), std::io::Error> { let object_path = parent.with_extension("o"); let asm_path = parent.with_extension("asm"); + let before = std::time::SystemTime::now(); + let text = fs::read_to_string(&path)?; match compile(&text, PathBuf::from(&path)) { Ok(CompileOutput { @@ -20,15 +22,20 @@ fn main() -> Result<(), std::io::Error> { obj_buffer, llvm_ir, }) => { - println!("Compiled with triple: {}", &triple); + println!("{}", llvm_ir); + + let after = std::time::SystemTime::now(); + println!("Compiled with triple: {}\n", &triple); fs::write(&llvm_ir_path, &llvm_ir).expect("Could not write LLVM IR -file!"); println!("Output LLVM IR to {:?}", llvm_ir_path); fs::write(&asm_path, &assembly).expect("Could not write Assembly-file!"); println!("Output Assembly to {:?}", asm_path); fs::write(&object_path, &obj_buffer).expect("Could not write Object-file!"); - println!("Output Object-file to {:?}", object_path); - - println!("{}", llvm_ir); + println!("Output Object-file to {:?}\n", object_path); + println!( + "Compilation took: {:.2}ms\n", + (after.duration_since(before).unwrap().as_micros() as f32) / 1000. + ); } Err(e) => panic!("{}", e), };