Formatting time / timeout magic results
Note that example post assumed time came out in milliseconds; however, that isn't necessarily the case, for example try for x in range(10_000_000)
with example code. This implemantation only changes if in micro- or milliseconds per the original post.
%%capture original_output
%%timeit -o
for x in range(100):
x**2
if original_output.stdout.split()[1] == 'us':
print(f'{(float(original_output.stdout.split()[0])/1000000.0):.8f} s')
elif original_output.stdout.split()[1] == 'ms':
print(f'{(float(original_output.stdout.split()[0])/1000.0):.3f} s')
else:
print(f'{original_output.stdout.split("+-",1)[0].strip()}')
0.00004400 s
%%capture original_output
%%timeit -o
for x in range(1_000_000):
x**2
if original_output.stdout.split()[1] == 'us':
print(f'{(float(original_output.stdout.split()[0])/1000000.0):.8f} s')
elif original_output.stdout.split()[1] == 'ms':
print(f'{(float(original_output.stdout.split()[0])/1000.0):.3f} s')
else:
print(f'{original_output.stdout.split("+-",1)[0].strip()}')
0.510 s
%%capture original_output
%%timeit -o
for x in range(10_000_000):
x**2
if original_output.stdout.split()[1] == 'us':
print(f'{(float(original_output.stdout.split()[0])/1000000.0):.8f} s')
elif original_output.stdout.split()[1] == 'ms':
print(f'{(float(original_output.stdout.split()[0])/1000.0):.3f} s')
else:
print(f'{original_output.stdout.split("+-",1)[0].strip()}')
5.07 s
%%capture original_output
%%timeit -o
for x in range(1_000_000):
x**2
def function():
for x in range(1_000_000):
x**2
variable = %timeit -o function()
print(variable)
print(type(variable))
print(f'{variable.average:.3} s')
#print(f'{_.average:.3} s')
print(f'original output: {original_output}')
%%timeit -o
for x in range(10_000_000):
x**2
%%timeit -o
for x in range(1_000_000):
x**2
type(_)
_
print(f'{_.average} s')
print(f'{_.average:.3} s')
print(f'{_.average:.03f} s')
%%capture original_output
%%timeit -o
for x in range(1_000_000):
x**2
original_output.stdout
%%capture out_stream
%%time
for x in range(1_000_000):
x**2
out_stream.stdout
for x in out_stream.stdout.split("\n")[-3:]:
print(x)
out_stream.stdout.split("\n")[-3:]
%%capture original_output
%%timeit -o
for x in range(1_000_000):
x**2
%%capture original_output
%%timeit -o
for x in range(10):
x**2
original_output.stdout
if original_output.stdout.split()[1] == 'us':
print(f'{(float(original_output.stdout.split()[0])/1000000.0):.8f} s')
elif original_output.stdout.split()[1] == 'ms':
print(f'{(float(original_output.stdout.split()[0])/1000.0):.3f} s')
else:
print(f'{original_output.stdout.split("+-",1)[0].strip()}')
original_output.stdout
f'{int(original_output.stdout.split()[0])}'
original_output.stdout
original_output.stdout[1] == 'us'
original_output.stdout.split()
original_output.stdout.split("+-",1)[0].strip()
%%capture original_output
%%timeit -o
for x in range(10):
x**2
original_output.stdout.split("+-",1)[0].strip()