1616from dpbench .infrastructure .enums import ErrorCodes
1717
1818
19+ def _format_ns (time_in_ns ):
20+ time = int (time_in_ns )
21+ assert time >= 0
22+ suff = [("s" , 1000_000_000 ), ("ms" , 1000_000 ), ("\u03BC s" , 1000 ), ("ns" , 0 )]
23+ for s , scale in suff :
24+ if time >= scale :
25+ scaled_time = float (time ) / scale if scale > 0 else time
26+ return f"{ scaled_time } { s } ({ time } ns)"
27+
28+
1929def _print_results (result : dpbi .BenchmarkResults ):
2030 print (
2131 "================ implementation "
@@ -28,12 +38,12 @@ def _print_results(result: dpbi.BenchmarkResults):
2838 if result .error_state == ErrorCodes .SUCCESS :
2939 print ("framework:" , result .framework_name )
3040 print ("framework version:" , result .framework_version )
31- print ("setup time:" , result .setup_time )
32- print ("warmup time:" , result .warmup_time )
33- print ("teardown time:" , result .teardown_time )
34- print ("max execution times:" , result .max_exec_time )
35- print ("min execution times:" , result .min_exec_time )
36- print ("median execution times:" , result .median_exec_time )
41+ print ("setup time:" , _format_ns ( result .setup_time ) )
42+ print ("warmup time:" , _format_ns ( result .warmup_time ) )
43+ print ("teardown time:" , _format_ns ( result .teardown_time ) )
44+ print ("max execution times:" , _format_ns ( result .max_exec_time ) )
45+ print ("min execution times:" , _format_ns ( result .min_exec_time ) )
46+ print ("median execution times:" , _format_ns ( result .median_exec_time ) )
3747 print ("repeats:" , result .num_repeats )
3848 print ("preset:" , result .preset )
3949 print ("validated:" , result .validation_state )
0 commit comments