
Hallo, wir haben Code mit recht 2000 Tests. Die Ausführung der Tests dauert eine halbe Stunde, und es wäre schön, wenn das schneller gehen würde. Vor kurzem wurde durch Zufall erkannt, dass ständig ein Test-User erstellt wird und dabei bcrypt verwendet wird. Diese eine Stelle wurde optimiert, und es wurden 5 Minuten Zeit gespart. Super .... aber ich will solche Erkenntnisse ungern dem Zufall überlassen. Ich suche nun ein Tool, mit dem man erkennen kann, ob es noch weitere Flaschenhälse/Bottlenecks im Code gibt. Wie würdet ihr nun vorgehen? Gruß, Thomas -- Thomas Guettler http://www.thomas-guettler.de/ I am looking for feedback: https://github.com/guettli/programming-guidelines

Moin, py.test erlaubt die langsamsten N Tests anzuzeigen. For N=5 zB:
py.test --durations=5
Hilft das? Gruß, Hans
On 23. Aug 2019, at 11:18, Thomas Güttler <guettliml@thomas-guettler.de> wrote:
Hallo,
wir haben Code mit recht 2000 Tests. Die Ausführung der Tests dauert eine halbe Stunde, und es wäre schön, wenn das schneller gehen würde.
Vor kurzem wurde durch Zufall erkannt, dass ständig ein Test-User erstellt wird und dabei bcrypt verwendet wird.
Diese eine Stelle wurde optimiert, und es wurden 5 Minuten Zeit gespart.
Super .... aber ich will solche Erkenntnisse ungern dem Zufall überlassen.
Ich suche nun ein Tool, mit dem man erkennen kann, ob es noch weitere Flaschenhälse/Bottlenecks im Code gibt.
Wie würdet ihr nun vorgehen?
Gruß, Thomas
-- Thomas Guettler http://www.thomas-guettler.de/ I am looking for feedback: https://github.com/guettli/programming-guidelines _______________________________________________ python-de maillist - python-de@python.org https://mail.python.org/mailman/listinfo/python-de

Am 23.08.19 um 11:28 schrieb Hans Fangohr:
Moin,
py.test erlaubt die langsamsten N Tests anzuzeigen. For N=5 zB:
py.test --durations=5
Hallo Hans, bei dem unten genannten Beispiel würde das nichts finden. Es wurde in fast jedem Test etwas Zeit für bcrypt verschwendet. Es war nicht nur ein Test der langsam war, sondern die Summe alle bcrypt-Aufrufe war das Problem. Gruß, Thomas On 23. Aug 2019, at 11:18, Thomas Güttler <guettliml@thomas-guettler.de> wrote:
Hallo,
wir haben Code mit recht 2000 Tests. Die Ausführung der Tests dauert eine halbe Stunde, und es wäre schön, wenn das schneller gehen würde.
Vor kurzem wurde durch Zufall erkannt, dass ständig ein Test-User erstellt wird und dabei bcrypt verwendet wird.
Diese eine Stelle wurde optimiert, und es wurden 5 Minuten Zeit gespart.
Super .... aber ich will solche Erkenntnisse ungern dem Zufall überlassen.
Ich suche nun ein Tool, mit dem man erkennen kann, ob es noch weitere Flaschenhälse/Bottlenecks im Code gibt.
Wie würdet ihr nun vorgehen?
Gruß, Thomas
-- Thomas Guettler http://www.thomas-guettler.de/ I am looking for feedback: https://github.com/guettli/programming-guidelines _______________________________________________ python-de maillist - python-de@python.org https://mail.python.org/mailman/listinfo/python-de
-- Thomas Guettler http://www.thomas-guettler.de/ I am looking for feedback: https://github.com/guettli/programming-guidelines

On 2019-08-23 11:18, Thomas Güttler wrote:
wir haben Code mit recht 2000 Tests. Die Ausführung der Tests dauert eine halbe Stunde, und es wäre schön, wenn das schneller gehen würde.
Vor kurzem wurde durch Zufall erkannt, dass ständig ein Test-User erstellt wird und dabei bcrypt verwendet wird.
Diese eine Stelle wurde optimiert, und es wurden 5 Minuten Zeit gespart.
Super .... aber ich will solche Erkenntnisse ungern dem Zufall überlassen.
Ich suche nun ein Tool, mit dem man erkennen kann, ob es noch weitere Flaschenhälse/Bottlenecks im Code gibt.
Abgesehen vom Hinweis von Hans auf pytests `--durations`-Option, möchte ich auch noch an die "normalen" Python-Profiler erinnern, zum Beispiel den in der Standard-Bibliothek: https://docs.python.org/3/library/profile.html Vor allem, wenn man noch nicht so vertraut damit ist, ist die Verwendung etwas hakelig, aber ich habe den Profiler schon öfter erfolgreich eingesetzt. :-) Viele Grüße Stefan
participants (3)
-
Hans Fangohr
-
Stefan Schwarzer
-
Thomas Güttler