Some details about profiling possibilities¶
First option (cProfile and gprof2dot)¶
python -m cProfile -o output.pstats ./friture.py scripts/gprof2dot.py -f pstats output.pstats -n 0.1 -e 0.02| dot -Tpng -o output2.png
Second option (cProfile and pstats)¶
./friture.py –python
Third option (cProfile, convert to kcachegrind)¶
python scripts/lsprofcalltree.py friture.py kcachegrind
Fourth option (sysprof system-wide profiler on Linux)¶
For sysprof, either use “sudo m-a a-i sysprof-module” to build the module for your current kernel, on Debian-like distributions, or use a development version of sysprof (>=1.11) and a recent kernel (>=2.6.31) that has built-in support, with in-kernel tracing as an addition.
sysprof ./gprof2dot.py -f sysprof sysprof_profile_kernel| dot -Tpng -o output_sysprof_kernel.png
TODO : write a converter from sysprof to callgrind (similar to lsprofcalltree)