Halihallo coolblue
Benchmark: running chomp, regExp, regExp$, each for at least 3 CPU seconds...
chomp: 3 wallclock secs ( 3.22 usr + 0.00 sys = 3.22 CPU) @ 19810824.17/
s (n=63771043)
regExp: 2 wallclock secs ( 3.14 usr + 0.00 sys = 3.14 CPU) @ 8796678.66/s
(n=27621571)
regExp$: 3 wallclock secs ( 3.06 usr + 0.00 sys = 3.06 CPU) @ 13534063.03/
s (n=41441301)
Rate regExp regExp$ chomp
regExp 8796679/s -- -35% -56%
regExp$ 13534063/s 54% -- -32%
chomp 19810824/s 125% 46% --Aber widerlegt das nicht deine Theorie, das chomp schneller ist als mein Vorgehen? Aus dem Ergebnis erkenne ich, dass chomp 0.06 CPU-Sekunden mehr benötigt. Ich neige wohl jetzt eher dazu, dass Beispiel von Philipp einzusetzen (s/\n$//).
Achtung, es werden *rund* 3 CPU-Sekunden gemessen. *rund* kann
systembedingt eben genau mal 0.06 CPU-Sekunden mehr sein, bzw. im
Benchmark von Stuppi sogar 0.22. Aber wichtig ist nicht die
verbrauchte Zeit, sondern die Anzahl Iterationen pro Sekunde. Wie
du in Stuppis Bench lesen kannst, ist comp mit 20 mio/s eindeutig
am schnellsten. Bei meinem Benchmark hat chomp etwa zweimal mehr
Strings bearbeiten können, als die beiden RegExp-Lösungen. Meiner
Meinung nach ein signifikantes Ergebnis. chomp ist eindeutig der
Champion :-)
aber wie immer, es kann sein das der Benchmark nicht realisitisch ist, da ich nicht mit Mechanismen vertraut bin.
Benchmark ist nicht irgend ein "Tool". Die Tests mit Benchmark sind sehr nahe an der Realität! Ein absolut professionelles Auswertungstool. Wenn "wir" neue Großrechner einkaufen, egal ob bei IBM, Sun oder HP, werden die Maschinen ersteinmal mit einem Großteil unserer eingesetzten Software, zum Beispiel Oracle und selbstentwickelter Jobs, ausführlich mit Benchmark darauf getestet.
Nun, Benchmarks sind allgemein keine einfache Sache. Die Ergebnisse
sind oft nicht so eindeutig wie man sie gerne hätte. Oftmals spielen
bei simpelsten Tests ganz andere Faktoren auch hinein, die eben auch
beachtet werden müssen und die Folge ist: selbst einfache Benchmarks
können hochkomplex werden bzw. liefern falsche Aussagen. Ich könnte
mir vorstellen, dass Stuppi in etwa dies sagen wollte.
Viele Grüsse
Philipp