1. Improving Performance - Optimizing code
    1. Problems
    2. Optimization strategy
    3. Locate the source of the problem
    4. Optimizing tactics
    5. DSU: Decorate Sort Undecorate
    6. Profile code
    7. Slow example
    8. profile slow code
    9. cProfile slow code
    10. Benchmarking
    11. Benchmarking subs
    12. Counting words - which implementation is faster?
    13. for loop or reduce to add numbers?
    14. Levenshtein distance
    15. Generate words
    16. Levenshtein - pylev
    17. Levenshtein - editdistance
    18. Editdistance benchmark
    19. A Tool to Generate text files
    20. Count characters
    21. Memory leak
    22. Garbage collection
    23. Weak reference
    24. Exercise: benchmark list-comprehension, map, for
    25. Exercise: Benchmark Levenshtein
    26. Exercise: sort files
    27. Exercise: compare split words:
    28. Exercise: count words