Skip to content
Lasse Schuirmann edited this page Jul 18, 2016 · 9 revisions

Results of profiling coala:

  • coala retranslates globs again and again in icollect/fnmatch
  • yield_ignore_ranges takes some time, we reduced it from 4 to 3% execution time by not lowering all lines
  • coala-delete-orig takes a lot of as it's globbing through everything. We have determined that python 3.5's pathlib globbing is about twice as fast as our builtin globbing.

Tools

Profiling

  • snakeviz - interactive, but not that helpful

  • Do python3 -m cProfile -o /tmp/coala.prof ./coala to generate the profile. Then do pyprof2calltree -k -i /tmp/coala.prof to generate a call graph (with time spent on each step). cProfile is built-in by default, pyprof2calltree is available in PyPI.

  • line_profiler pypi package seems interesting

Callgraphs

https://github.com/jrfonseca/gprof2dot - reasonable, noninteractive png

Clone this wiki locally