I've written a Python script, but running it is taking a lot longer than I had anticipated, and I've no obvious candidate for particuklar lines in the script taking up runtime.
Is there anything I can put in my code to check how long its taking to run through each line?
Many thanks.
Have you tried running python with profiling?
python -m cProfile --sort cumulative your_single_thread_script.py &> out.log
You can find more details in this question How can you profile a python script?
You can read more about the profiling utility here.
Use a profiler such as hotshot. It's easy!
1) run your code with the profiles:
import hotshot
prof = hotshot.Profile("hotshot_stats.prof")
prof.runcall(my_function)
prof.close()
2) Read the resulting file:
from hotshot import stats
s = stats.load("hotshot_stats.prof")
s.strip_dirs()
s.sort_stats('time', 'calls')
s.print_stats(20)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With