Profiling/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "==Opis==")
(Created page with "Profilowanie kodu FreeCAD pomaga znaleźć wąskie gardła w algorytmach używanych do tworzenia lub manipulowania obiektami.")
Line 4: Line 4:
==Opis==
==Opis==


Profilowanie kodu FreeCAD pomaga znaleźć wąskie gardła w algorytmach używanych do tworzenia lub manipulowania obiektami.
Profiling the code of FreeCAD helps find bottlenecks in the algorithms used to create or manipulate objects.


To profile [[Python|Python]] code use the standard {{incode|cProfile}} module to define start and end points to profile in the code.
To profile [[Python|Python]] code use the standard {{incode|cProfile}} module to define start and end points to profile in the code.

Revision as of 18:36, 31 January 2024

Opis

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

To profile Python code use the standard cProfile module to define start and end points to profile in the code.

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

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

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

Then install and use pyprof2calltree to convert the profile output into cachegrind input.

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