VeraPrinsen / isomorphisms

Module 6 Nedap University
0 stars 1 forks source link

Improve algorithm #75

Closed VeraPrinsen closed 5 years ago

VeraPrinsen commented 5 years ago

Dit is een voorbeeld van torus144 graph 0 en 6.

Screenshot 2019-03-29 at 13 46 24

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.

VeraPrinsen commented 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())
VeraPrinsen commented 5 years ago

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.