Profiling/de: Difference between revisions

From FreeCAD Documentation
No edit summary
(Created page with "Danach wird diese Information mit {{incode|kcachegrind}} für Linux oder {{incode|qcachegrind}} für Windows angezeigt.")
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
== Beschreibung ==
== Beschreibung ==


Die Profilerstellung im Code von FreeCAD hilft, Flaschenhälse in den Algorithmen zu finden, die zur Erstellung oder Manipulation von Objekten verwendet werden.
Das Profilieren des Codes von FreeCAD hilft Flaschenhälse in den Algorithmen zu finden, die zur Erstellung oder Bearbeitung von Objekten verwendet werden.


Um [[Python/de|Python]] Code zu profilieren, verwende das Standardmodul {{incode|cProfile}}, um Start und Endpunkte des Profils im Code zu definieren.
Zum Profilieren des [[Python/de|Python]]-Codes, wird das Standardmodul {{incode|cProfile}} verwendet, um Start- und Endpunkte der Profilierung im Code zu definieren.
{{Code|code=
{{Code|code=
import cProfile
import cProfile
Line 20: Line 20:
}}
}}


Then install and use {{incode|pyprof2calltree}} to convert the profile output into cachegrind input.
Dann wird {{incode|pyprof2calltree}} installiert und ausgeführt, um die Ausgabe der Profilierung in eine Eingabe für cachegrind umzuwandeln.
{{Code|code=
{{Code|code=
pyprof2calltree -i /tmp/profile.cprof -o /tmp/callgrind.out
pyprof2calltree -i /tmp/profile.cprof -o /tmp/callgrind.out
}}
}}


Then visualize this information with {{incode|kcachegrind}} for Linux or {{incode|qcachegrind}} for Windows.
Danach wird diese Information mit {{incode|kcachegrind}} für Linux oder {{incode|qcachegrind}} für Windows angezeigt.
{{Code|code=
{{Code|code=
kcachegrind /tmp/callgrind.out
kcachegrind /tmp/callgrind.out

Latest revision as of 13:28, 26 February 2023

Beschreibung

Das Profilieren des Codes von FreeCAD hilft Flaschenhälse in den Algorithmen zu finden, die zur Erstellung oder Bearbeitung von Objekten verwendet werden.

Zum Profilieren des Python-Codes, wird das Standardmodul cProfile verwendet, um Start- und Endpunkte der Profilierung im Code zu definieren.

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

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

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

Dann wird pyprof2calltree installiert und ausgeführt, um die Ausgabe der Profilierung in eine Eingabe für cachegrind umzuwandeln.

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

Danach wird diese Information mit kcachegrind für Linux oder qcachegrind für Windows angezeigt.

kcachegrind /tmp/callgrind.out

Ressourcen