Fragen? Antworten! Siehe auch: Alternativlos
Diesmal interessierte mich vor allem, ob die Implementation relativ zueinander effizienter geworden sind. Hier sind die aktuellen Messungen, und da das diesmal vorbearbeitet ist, ist das auch vergleichbarer. Der alte PHP-Code hat z.B. bei einer Zeile das Tokenisieren eingestellt, wenn ein "0" als Token kam. Und Go brach kommentarlos ab, wenn eine Zeile zu lang ist, und hat dann viel weniger Werte tatsächlich bearbeitet. Zum Vergleich: Die alte Messung.
Für mich das spannenste Ergebnis: Wie stark Go aufgeholt hat. Und diesmal sind auch Python 2.7 und Python 3.6 beide vertreten, da sieht man, dass Python 3 deutlich viel langsamer ist, und zwar nicht nur (wie ich bis dato dachte) bei der Startup-Latenz. Auch einigermaßen überraschend fand ich, wie schlecht Node.js abschneidet. So viel Hype wie die haben, da ging ich von besserer Performance aus.
Auch überraschend ist, dass C so deutlich siegt. Bei der letzten Messung war C++ besser. Das war dann wohl auch ein Tokenisierungs-Artefakt und nicht real.
Falls jemand noch Sprachen nachreichen möchte, freue ich mich über Einsendungen. Insbesondere eine ideomatisch elegante Rust-Lösung fehlt noch.
Update: Es sind gleich mehrere Rust-Lösungen reingekommen. Eine schön ideomatische und eine optimiertere. Auch für Java kam noch eine schnellere Version rein, und die Ocaml-Version funktioniert jetzt auch mit dem aktuellen Ocaml 4.09. Danke an alle Einsender.