Profiling/it: Difference between revisions

From FreeCAD Documentation
(Created page with "Per profilare il codice Python usare il modulo standard {{incode|cProfile}} per definire i punti di inizio e fine del profilo nel codice.")
(Created page with "Quindi installare e usare {{incode|pyprof2calltree}} per convertire l'output del profilo in input di cachegrind.")
Line 19: Line 19:
}}
}}


Then install and use {{incode|pyprof2calltree}} to convert the profile output into cachegrind input.
Quindi installare e usare {{incode|pyprof2calltree}} per convertire l'output del profilo in input di cachegrind.
{{Code|code=
{{Code|code=
pyprof2calltree -i /tmp/profile.cprof -o /tmp/callgrind.out
pyprof2calltree -i /tmp/profile.cprof -o /tmp/callgrind.out

Revision as of 20:48, 4 September 2020

Other languages:

Descrizione

La profilazione del codice di FreeCAD aiuta a trovare i colli di bottiglia negli algoritmi utilizzati per creare o manipolare oggetti.

Per profilare il codice Python usare il modulo standard cProfile per definire i punti di inizio e fine del profilo nel codice.

import cProfile
pr = cProfile.Profile()
pr.enable()

# --------------------------------------
# Lines of code that you want to profile
# --------------------------------------

pr.disable()
pr.dump_stats("/tmp/profile.cprof")

Quindi installare e usare pyprof2calltree per convertire l'output del profilo in input di cachegrind.

pyprof2calltree -i /tmp/profile.cprof -o /tmp/callgrind.out

Then visualize this information with kcachegrind for Linux or qcachegrind for Windows.

kcachegrind /tmp/callgrind.out

Resources