Six pages and a sidebar, each lecture step with its screenshot and what it taught; review record RC-008. Refs #14 Refs #15 Refs #16 Refs #17 Refs #18
1.0 KiB
1.0 KiB
Step 4: fast against slow
English · Dansk · Bahasa Malaysia
@speed_calc_decorator above both functions of the assignment gives the expected output:
@speed_calc_decorator
def fast_function():
for i in range(1_000_000):
i * i
@speed_calc_decorator
def slow_function():
for i in range(10_000_000):
i * i
Run it with python -m speed_calc.
What we gained
- One decorator times any number of functions; the timing code is written once.
slow_functionloops ten times as often asfast_function, so it takes about ten times as long. The numbers differ on every machine, but the ratio does not.- A clean layout for a small exercise:
src/for code,tests/for tests,docs/for documents,constants.pyfor constants, and Doxygen comments for the API.
