@@ -52,37 +52,43 @@ def humanize_runtime(time_in_ns: int) -> str:
5252
5353
5454def format_time (nanoseconds : int ) -> str :
55- """Format nanoseconds into a human-readable string with 3 significant digits when needed."""
56- # Inlined significant digit check: >= 3 digits if value >= 100
55+ result = ""
5756 if nanoseconds < 1_000 :
58- return f"{ nanoseconds } ns"
59- if nanoseconds < 1_000_000 :
57+ result = f"{ nanoseconds } ns"
58+ elif nanoseconds < 1_000_000 :
6059 microseconds_int = nanoseconds // 1_000
6160 if microseconds_int >= 100 :
62- return f"{ microseconds_int } μs"
63- microseconds = nanoseconds / 1_000
64- # Format with precision: 3 significant digits
65- if microseconds >= 100 :
66- return f"{ microseconds :.0f} μs"
67- if microseconds >= 10 :
68- return f"{ microseconds :.1f} μs"
69- return f"{ microseconds :.2f} μs"
70- if nanoseconds < 1_000_000_000 :
61+ result = f"{ microseconds_int } μs"
62+ else :
63+ microseconds = nanoseconds / 1_000
64+ if microseconds >= 100 :
65+ result = f"{ microseconds :.0f} μs"
66+ elif microseconds >= 10 :
67+ result = f"{ microseconds :.1f} μs"
68+ else :
69+ result = f"{ microseconds :.2f} μs"
70+ elif nanoseconds < 1_000_000_000 :
7171 milliseconds_int = nanoseconds // 1_000_000
7272 if milliseconds_int >= 100 :
73- return f"{ milliseconds_int } ms"
74- milliseconds = nanoseconds / 1_000_000
75- if milliseconds >= 100 :
76- return f"{ milliseconds :.0f} ms"
77- if milliseconds >= 10 :
78- return f"{ milliseconds :.1f} ms"
79- return f"{ milliseconds :.2f} ms"
80- seconds_int = nanoseconds // 1_000_000_000
81- if seconds_int >= 100 :
82- return f"{ seconds_int } s"
83- seconds = nanoseconds / 1_000_000_000
84- if seconds >= 100 :
85- return f"{ seconds :.0f} s"
86- if seconds >= 10 :
87- return f"{ seconds :.1f} s"
88- return f"{ seconds :.2f} s"
73+ result = f"{ milliseconds_int } ms"
74+ else :
75+ milliseconds = nanoseconds / 1_000_000
76+ if milliseconds >= 100 :
77+ result = f"{ milliseconds :.0f} ms"
78+ elif milliseconds >= 10 :
79+ result = f"{ milliseconds :.1f} ms"
80+ else :
81+ result = f"{ milliseconds :.2f} ms"
82+ else :
83+ seconds_int = nanoseconds // 1_000_000_000
84+ if seconds_int >= 100 :
85+ result = f"{ seconds_int } s"
86+ else :
87+ seconds = nanoseconds / 1_000_000_000
88+ if seconds >= 100 :
89+ result = f"{ seconds :.0f} s"
90+ elif seconds >= 10 :
91+ result = f"{ seconds :.1f} s"
92+ else :
93+ result = f"{ seconds :.2f} s"
94+ return result
0 commit comments