Profiling/pl: Difference between revisions
(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
- The Python profilers,
cProfile
andpython
. - pyprof2calltree at PyPI; pyprof2calltree repository.
- FreeCAD's Python profiling tutorial.
Centrum Power użytkowników
- Tworzenie skryptów FreeCAD: Python, Wprowadzenie do środowiska Python, Poradnik: Tworzenie skryptów Python, Podstawy tworzenia skryptów FreeCAD
- Moduły: Moduły wbudowane, Jednostki miar, Ilość
- Środowiska pracy: Tworzenie Środowiska pracy, Polecenia Gui, Polecenia, Instalacja większej liczby Środowisk pracy
- Siatki i elementy: Skrytpy w Środowisku Siatek, v, Konwerska Mesh na Part, PythonOCC
- Obiekty parametryczne: Obiekty tworzone skryptami, Obsługa obrazu (Ikonka niestandardowa w widoku drzewa)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Interfejs graficzny: Stworzenie interfejsu, Kompletne stworzenie interfejsu w środowisku Python (1, 2, 3, 4, 5), PySide, PySide examples początkujący, średniozaawansowany, zaawansowany
- Makrodefinicje: Makrodefinicje, Instalacja makrodefinicji
- Osadzanie programu: Osadzanie programu FreeCAD, Osadzanie GUI FreeCAD
- Pozostałe: Wyrażenia, Wycinki kodu, Funkcja kreślenia linii, Biblioteka matematyczna FreeCAD dla wektorów (deprecated)
- Węzły użytkowników: Centrum użytkownika, Centrum Power użytkowników, Centrum programisty