From b0a6b4604899dbbe500cdc8e2b3cab9bf7d8f197 Mon Sep 17 00:00:00 2001 From: diogo464 Date: Fri, 8 Aug 2025 17:56:12 +0100 Subject: perf: exit(0) on view command to avoid destructors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit it is unecessary to run destructures since the OS will cleanup everything for us and it saved a bit of time. Benchmark 1: ./fctdrive-noexit view Time (mean ± σ): 37.0 ms ± 1.2 ms [User: 29.4 ms, System: 7.4 ms] Range (min … max): 35.7 ms … 40.8 ms 81 runs Benchmark 2: ./fctdrive-exit view Time (mean ± σ): 34.7 ms ± 1.3 ms [User: 26.9 ms, System: 7.6 ms] Range (min … max): 33.0 ms … 38.5 ms 83 runs Summary ./fctdrive-exit view ran 1.07 ± 0.05 times faster than ./fctdrive-noexit view --- fctdrive/src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/fctdrive/src/main.rs b/fctdrive/src/main.rs index 2035680..91e5046 100644 --- a/fctdrive/src/main.rs +++ b/fctdrive/src/main.rs @@ -859,6 +859,7 @@ fn cmd_view(args: ViewArgs) { ops.iter().for_each(|op| apply(&mut fs, op).unwrap()); write_node(&mut writer, &fs, fs.root, Default::default()); writer.flush().unwrap(); + std::process::exit(0); } fn write_node(writer: &mut FsNodeWriter, fs: &Fs, node_id: FsNodeId, path: DrivePath) { -- cgit