Line profiler
line_profiler
is actually not a package that's bundled with Python, but it's far too useful to ignore. While the regular profile
module profiles all (sub)functions within a certain block, line_profiler
allows for profiling line per line within a function. The Fibonacci function is not best suited here, but we can use a prime number generator instead. But first, install line_profiler
:
pip install line_profiler
Now that we have installed the line_profiler
module (and with that the kernprof
command), let's test line_profiler
:
import itertools @profile def primes(): n = 2 primes = set() while True: for p in primes: if n % p == 0: break else: primes.add(n) yield n n += 1 if __name__ == '__main__': total = 0 n = 2000 for prime in itertools.islice(primes(), n): total += prime print('The sum of the first %d primes is %d' % (n, total...