Bildbearbeitung ist ein tolles Thema geworden. Seit dem Mehrteiler hier im Blog über abandoned-tuples in Python ist noch ein bisschen was passiert. Ich habe ungefähr verstanden wie bestimmte Effekte herbeizuführen sind beispielsweise.
Während des Lockdowns habe ich dann angefangen Go zu lernen und habe dazu auch die Bildbearbeitung nach Go portiert. Das entstandene Projekt heisst nept. Nept ist 50% einen Backronyms. Noch unklar was es bedeuten soll.
So weit, so gut.
Go Routines
Warum habe ich das alles gemacht? Neben anderen Features wie Tests, Modules und Interfaces wollte ich auch Gos eingebaute Gleichzeitigkeit mit Go Routines ausprobieren.
Der Diff war schnell eingebaut (und auch echt Spass gemacht!) aber danach nicht so ganz gewusst wie ich den Unterschied messen kann.
Anstatt das mit time
per Hand zu messen, gibt es das Tool
hyperfine. Es hat tolle Features und
rechnet gleich aus wie viel schneller/langsamer 2 Kommandos im Vergleich
sind.
Ich habe mein Git Repository also zurückgesetzt und die alte Version von
nept
nocheinmal kompiliert.
Und tatsächlich, es sind 5 statt 6 Sekunden.
Zum Vergleich habe ich dann auch noch die Go Implementierung gegen die Vormalige Python Variante dagegen gehalten:
Und der Unterschied hierbei krass, ganze 8 mal schneller ist die Go Variante.
Tolles Tool, kann ich jedem empfehlen der mal Tools vergleichen muss.