Profiling Python Code With Multiple Functions