Closed VeraPrinsen closed 5 years ago
De imports die nodig zijn
import cProfile, pstats, io
from pstats import SortKey
De code die deze statistieken genereert
pr = cProfile.Profile()
pr.enable()
# here your stuff
pr.disable()
s = io.StringIO()
sortby = SortKey.CUMULATIVE
ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
ps.print_stats()
print(s.getvalue())
In PR #77 is uit de branching gehaald dat voor elke nieuwe branch een nieuwe copy() wordt gemaakt. Bij trees90 graph 0 en 3 verandert dit de tijd van de branching van ongeveer 77 seconden naar ongeveer 52 seconden.
Dit is een voorbeeld van torus144 graph 0 en 6.
De tottime is de tijd die het algoritme in dat stuk van de code doorbrengt, de cumtime is de totale tijd van begin tot eind van aanroepen van de methode, maar ook de tijd van andere methoden die hierin worden aangeroepen.
Dus vandaar dat ik denk dat get_colors() nu een bottleneck is, want ongeveer een derde van de tijd is hieraan kwijt. Verder zie ik 4 seconden voor add_edge, wat via de copy() methode komt.