Benchmarks

(Auszug aus "Reguläre Ausdrücke" von Jeffrey E. F. Friedl)

Wer sich wirklich um die Effizienz seiner Programme sorgt, wird sie austesten. In Perl kann man dazu das mitgelieferte Benchmark-Modul verwenden, das auch gut dokumentiert ist (»perldoc Benchmark«). Mehr aus Gewohnheit als aus irgendwelchen anderen Gründen schreibe ich meine Benchmark-Programme oft von Grund auf. Ich verwende das Modul

use Time::HiRes 'time';

und verpacke den zu testenden Code ganz einfach in das folgende Codefragment.

my $start = time;
   ...
my $delta = time - $start;
printf "Laufzeit: %.1f sec\n", $delta;

Bei Benchmark-Programmen ist es wichtig, den Code lange genug laufen zu lassen, um sinnvolle Resultate zu erhalten. Man muss den zu testenden Code sehr gut von unerheblichen Dingen separieren, sonst misst man irgendetwas, aber nicht das, was eigentlich von Interesse ist. Mehr zu Benchmark-Problemen finden Sie in Die Kunst, reguläre Ausdrücke zu schreiben (siehe Benchmarking). Man muss sich etwas an die Denkweise bei Benchmarks gewöhnen, aber am Ende springt wirklich etwas dabei heraus.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Reguläre Ausdrücke bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:
   

Copyright der deutschen Ausgabe © 2008 by O’Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Reguläre Ausdrücke" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstr. 81, 50670 Köln