@@ -142,13 +142,6 @@ let dune_build ~name ~sandbox =
142142 |> Metrics. make times
143143;;
144144
145- let dune_clean () =
146- let stdin_from = Process. (Io. null In ) in
147- let stdout_to = make_stdout () in
148- let stderr_to = make_stderr () in
149- Process. run Strict ~display: Quiet ~stdout_to ~stderr_to ~stdin_from dune [ " clean" ]
150- ;;
151-
152145let run_bench ~sandbox =
153146 let open Fiber.O in
154147 let * clean = dune_build ~name: " clean" ~sandbox in
@@ -169,18 +162,16 @@ type ('float, 'int) bench_results =
169162 { size : int
170163 ; clean : ('float , 'int ) Metrics .t
171164 ; zero : ('float , 'int ) Metrics .t list
172- ; clean_sandbox : ('float , 'int ) Metrics .t
173- ; zero_sandbox : ('float , 'int ) Metrics .t list
174165 }
175166
176- let tag_results { size; clean; zero; clean_sandbox; zero_sandbox } =
167+ let tag_results { size; clean; zero } =
177168 let tag data = Metrics. map ~f: (fun t -> `Float t) ~g: (fun t -> `Int t) data in
178169 let list_tag data =
179170 List. map data ~f: tag
180171 |> Metrics. unzip
181172 |> Metrics. map ~f: (fun x -> `List x) ~g: (fun x -> `List x)
182173 in
183- `Int size, tag clean, list_tag zero, tag clean_sandbox, list_tag zero_sandbox
174+ `Int size, tag clean, list_tag zero
184175;;
185176
186177(* * Display all clean and null builds with a few exceptions:
@@ -211,147 +202,38 @@ let display_clean_and_zero_with_sandboxing
211202 } :
212203 _ Metrics. t )
213204 (zero : _ Metrics.t )
214- (clean_sandbox : _ Metrics.t )
215- (zero_sandbox : _ Metrics.t )
216205 =
217- let display what units clean zero clean_sandbox zero_sandbox =
206+ let display what units clean zero =
218207 { Output. name = what
219- ; metrics =
220- [ " [Clean] " ^ what, clean, units
221- ; " [Null] " ^ what, zero, units
222- ; " [Clean Sandbox] " ^ what, clean_sandbox, units
223- ; " [Null Sandbox] " ^ what, zero_sandbox, units
224- ]
208+ ; metrics = [ " [Clean] " ^ what, clean, units; " [Null] " ^ what, zero, units ]
225209 }
226210 in
227- [ display
228- " Build Time"
229- " Seconds"
230- elapsed_time
231- zero.elapsed_time
232- clean_sandbox.elapsed_time
233- zero_sandbox.elapsed_time
234- ; display
235- " Minor Words"
236- " Approx. Words"
237- minor_words
238- zero.minor_words
239- clean_sandbox.minor_words
240- zero_sandbox.minor_words
241- ; display
242- " Promoted Words"
243- " Approx. Words"
244- promoted_words
245- zero.promoted_words
246- clean_sandbox.promoted_words
247- zero_sandbox.promoted_words
248- ; display
249- " Major Words"
250- " Approx. Words"
251- major_words
252- zero.major_words
253- clean_sandbox.major_words
254- zero_sandbox.major_words
255- ; display
256- " Minor Collections"
257- " Collections"
258- minor_collections
259- zero.minor_collections
260- clean_sandbox.minor_collections
261- zero_sandbox.minor_collections
262- ; display
263- " Major Collections"
264- " Collections"
265- major_collections
266- zero.major_collections
267- clean_sandbox.major_collections
268- zero_sandbox.major_collections
269- ; display
270- " Heap Words"
271- " Words"
272- heap_words
273- zero.heap_words
274- clean_sandbox.heap_words
275- zero_sandbox.heap_words
276- ; display
277- " Heap Chunks"
278- " Chunks"
279- heap_chunks
280- zero.heap_chunks
281- clean_sandbox.heap_chunks
282- zero_sandbox.heap_chunks
283- ; display
284- " Live Words"
285- " Words"
286- live_words
287- zero.live_words
288- clean_sandbox.live_words
289- zero_sandbox.live_words
290- ; display
291- " Live Blocks"
292- " Blocks"
293- live_blocks
294- zero.live_blocks
295- clean_sandbox.live_blocks
296- zero_sandbox.live_blocks
297- ; display
298- " Free Words"
299- " Words"
300- free_words
301- zero.free_words
302- clean_sandbox.free_words
303- zero_sandbox.free_words
304- ; display
305- " Free Blocks"
306- " Blocks"
307- free_blocks
308- zero.free_blocks
309- clean_sandbox.free_blocks
310- zero_sandbox.free_blocks
311- ; display
312- " Largest Free"
313- " Words"
314- largest_free
315- zero.largest_free
316- clean_sandbox.largest_free
317- zero_sandbox.largest_free
318- ; display
319- " Compactions"
320- " Compactions"
321- compactions
322- zero.compactions
323- clean_sandbox.compactions
324- zero_sandbox.compactions
325- ; display
326- " Top Heap Words"
327- " Words"
328- top_heap_words
329- zero.top_heap_words
330- clean_sandbox.top_heap_words
331- zero_sandbox.top_heap_words
332- ; display
333- " User CPU Time"
334- " Seconds"
335- user_cpu_time
336- zero.user_cpu_time
337- clean_sandbox.user_cpu_time
338- zero_sandbox.user_cpu_time
339- ; display
340- " System CPU Time"
341- " Seconds"
342- system_cpu_time
343- zero.system_cpu_time
344- clean_sandbox.system_cpu_time
345- zero_sandbox.system_cpu_time
211+ [ display " Build Time" " Seconds" elapsed_time zero.elapsed_time
212+ ; display " Minor Words" " Approx. Words" minor_words zero.minor_words
213+ ; display " Promoted Words" " Approx. Words" promoted_words zero.promoted_words
214+ ; display " Major Words" " Approx. Words" major_words zero.major_words
215+ ; display " Minor Collections" " Collections" minor_collections zero.minor_collections
216+ ; display " Major Collections" " Collections" major_collections zero.major_collections
217+ ; display " Heap Words" " Words" heap_words zero.heap_words
218+ ; display " Heap Chunks" " Chunks" heap_chunks zero.heap_chunks
219+ ; display " Live Words" " Words" live_words zero.live_words
220+ ; display " Live Blocks" " Blocks" live_blocks zero.live_blocks
221+ ; display " Free Words" " Words" free_words zero.free_words
222+ ; display " Free Blocks" " Blocks" free_blocks zero.free_blocks
223+ ; display " Largest Free" " Words" largest_free zero.largest_free
224+ ; display " Compactions" " Compactions" compactions zero.compactions
225+ ; display " Top Heap Words" " Words" top_heap_words zero.top_heap_words
226+ ; display " User CPU Time" " Seconds" user_cpu_time zero.user_cpu_time
227+ ; display " System CPU Time" " Seconds" system_cpu_time zero.system_cpu_time
346228 ]
347229;;
348230
349231let format_results bench_results =
350232 (* tagging data for json conversion *)
351- let size, clean, zero, clean_sandbox, zero_sandbox = tag_results bench_results in
233+ let size, clean, zero = tag_results bench_results in
352234 (* bench results *)
353235 [ { Output. name = " Misc" ; metrics = [ " Size of _boot/dune.exe" , size, " Bytes" ] } ]
354- @ display_clean_and_zero_with_sandboxing clean zero clean_sandbox zero_sandbox
236+ @ display_clean_and_zero_with_sandboxing clean zero
355237;;
356238
357239let () =
@@ -381,16 +263,10 @@ let () =
381263 let * () = prepare_workspace () in
382264 (* Build the clean and null builds *)
383265 Console. printf " Building clean and null builds" ;
384- let * clean, zero = run_bench ~sandbox: `No in
266+ let + clean, zero = run_bench ~sandbox: `No in
385267 Console. printf " Finished building clean and null builds" ;
386- (* Clean the workspace *)
387- let * () = dune_clean () in
388- Console. printf " Building clean and null builds with sandbox" ;
389- (* Build the clean and null builds with sandbox *)
390- let + clean_sandbox, zero_sandbox = run_bench ~sandbox: `Yes in
391- Console. printf " Finished building clean and null builds with sandbox" ;
392268 (* Return the bench results *)
393- format_results { size; clean; zero; clean_sandbox; zero_sandbox }
269+ format_results { size; clean; zero }
394270 in
395271 let version = 4 in
396272 let output = { Output. config = [] ; version; results } in
0 commit comments