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
29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# Trin 4: hurtig mod langsom
|
|
|
|
[English](Step-4-Fast-vs-Slow) · **Dansk** · [Bahasa Malaysia](Step-4-Fast-vs-Slow-ms)
|
|
|
|
`@speed_calc_decorator` over begge opgavens funktioner giver det forventede output:
|
|
|
|
```python
|
|
@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
|
|
```
|
|
|
|

|
|
|
|
Kør den med `python -m speed_calc`.
|
|
|
|
## Hvad vi lærte
|
|
|
|
- Én dekorator tager tid på et vilkårligt antal funktioner; tidtagningskoden skrives kun én gang.
|
|
- `slow_function` gennemløber sin løkke ti gange så mange gange som `fast_function`, så den tager cirka ti gange så lang tid. Tallene er forskellige på hver maskine, men forholdet er det ikke.
|
|
- En ren struktur til en lille øvelse: `src/` til kode, `tests/` til tests, `docs/` til dokumenter, `constants.py` til konstanter og Doxygen-kommentarer til API'et.
|