Profiling/pl: Difference between revisions
(Created page with "Tworzenie profili") |
(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].") |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
= |
<span id="Description"></span> |
||
==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. |
|||
Do profilowania kodu [[Python/pl|Python]] należy użyć standardowego modułu {{incode|cProfile}}, aby zdefiniować punkty początkowe i końcowe do profilowania w kodzie. |
|||
{{Code|code= |
{{Code|code= |
||
import cProfile |
import cProfile |
||
Line 19: | Line 20: | ||
}} |
}} |
||
Następnie zainstaluj i użyj {{incode|pyprof2calltree}}, aby przekonwertować dane wyjściowe profilu na dane wejściowe cachegrind. |
|||
{{Code|code= |
{{Code|code= |
||
pyprof2calltree -i /tmp/profile.cprof -o /tmp/callgrind.out |
pyprof2calltree -i /tmp/profile.cprof -o /tmp/callgrind.out |
||
}} |
}} |
||
Następnie zwizualizuj te informacje za pomocą {{incode|kcachegrind}} dla systemu Linux lub {{incode|qcachegrind}} dla systemu Windows. |
|||
{{Code|code= |
{{Code|code= |
||
kcachegrind /tmp/callgrind.out |
kcachegrind /tmp/callgrind.out |
||
}} |
}} |
||
= |
<span id="Resources"></span> |
||
==Zasoby== |
|||
* [https://docs.python.org/3/library/profile.html |
* [https://docs.python.org/3/library/profile.html Profilery Python], {{incode|cProfile}} i {{incode|python}}. |
||
* [https://pypi.org/project/pyprof2calltree/ pyprof2calltree] |
* [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 |
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=44785 Poradnik profilowania FreeCAD w Python]. |
||
{{Powerdocnavi{{#translation:}}}} |
{{Powerdocnavi{{#translation:}}}} |
Latest revision as of 18:39, 31 January 2024
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
- Profilery Python,
cProfile
ipython
. - pyprof2calltree w PyPI; pyprof2calltree repozytorium.
- Poradnik profilowania FreeCAD w Python.
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