Extreme simple profiler of time execution of code. The major goal of none_profiler is simple time measure in long chain of code execution, such as web applications.
from time import sleep from nano_profiler import NanoProfiler n_p = NanoProfiler(name='Foo Bar Baz profiler', autostart=True) def foo(): sleep(0.1) n_p.mark('Foo') def bar(): sleep(0.125) n_p.mark('Bar') def baz(): foo() bar() n_p.mark('Baz') baz()
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Statistic of profiler "Foo Bar Baz" ┃ ┡━━━┯━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━┦ │ 1 │ 0.100s │ 44.45% │ Foo │ ├───┼────────┼─────────┼──────────────┤ │ 2 │ 0.125s │ 55.55% │ Bar │ ├───┼────────┼─────────┼──────────────┤ │ 3 │ 0.000s │ 0.00% │ Baz │ ┢━━━╈━━━━━━━━╈━━━━━━━━━╈━━━━━━━━━━━━━━┪ ┃ ┃ 0.225s ┃ 100.00% ┃ Total ┃ ┗━━━┻━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━━━━━┛