Profilowanie kodu

From FreeCAD Documentation
Revision as of 18:39, 31 January 2024 by Kaktus (talk | contribs) (Created page with "* [https://docs.python.org/3/library/profile.html Profilery Python], {{incode|cProfile}} i {{incode|python}}. * [https://pypi.org/project/pyprof2calltree/ pyprof2calltree] w PyPI; [https://github.com/pwaller/pyprof2calltree/ pyprof2calltree] repozytorium. * [https://forum.freecadweb.org/viewtopic.php?f=10&t=44785 Poradnik profilowania FreeCAD w Python].")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Opis

Profilowanie kodu FreeCAD pomaga znaleźć wąskie gardła w algorytmach używanych do tworzenia lub manipulowania obiektami.

Do profilowania kodu Python należy użyć standardowego modułu cProfile, aby zdefiniować punkty początkowe i końcowe do profilowania w kodzie.

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

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

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

Następnie zainstaluj i użyj pyprof2calltree, aby przekonwertować dane wyjściowe profilu na dane wejściowe cachegrind.

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

Następnie zwizualizuj te informacje za pomocą kcachegrind dla systemu Linux lub qcachegrind dla systemu Windows.

kcachegrind /tmp/callgrind.out

Zasoby