Test: Benchmark.

test :: Benchmark-Modul ist hier, um sicherzustellen, dass etwas wirklich schneller ist.
Jetzt downloaden

Test: Benchmark. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Fergal Daly
  • Website des Verlags:
  • http://search.cpan.org/~fdaly/Test-NoWarnings-0.084/lib/Test/NoWarnings.pm

Test: Benchmark. Stichworte


Test: Benchmark. Beschreibung

Test :: Benchmark-Modul ist hier, um sicherzustellen, dass etwas wirklich schneller ist. Test :: Benchmark-Modul ist hier, um sicherzustellen, dass etwas wirklich schneller ist. Synopsis Verwenden Sie Test :: mehr Test => 17; Verwenden Sie Test: Benchmark; is_faster (-10, sub {...}, sub {...}, "Dies ist schneller als das") is_faster (5, -10, sub {...}, sub {...}, "das ist 5-mal schneller als das ") is_n_times_faster (5, -10, sub {...}, sub {...}," das ist 5-mal schneller als der ") is_faster (-10, $ Bench1, $ Bench2, "RES1 war schneller als RES2"); is_fastest ("c", -1, {a => sub {...}, b => sub {...}, c => sub {...}, c => sub {...},); manchmal möchten Sie sicherstellen, dass Sie Ihr "Schnellerer" Algorithmus ist wirklich schneller als der alte Weg. Dadurch können Sie überprüfen. Es kann auch nützlich sein, um zu überprüfen, ob Ihre Super Whizzo XS oder INLINE :: C-Version tatsächlich schneller ist. Dieses Modul basiert auf dem Standard-Benchmark-Modul. Wenn Sie viele Timings zum Vergleich haben, und Sie möchten nicht immer dieselben Benchmarks ständig leiten, Sie können ein Ergebnisobjekt von Benchmark weitergeben :: Timethis () anstelle von Subroutine Reference.Comagethere sind 3 Funktionen exportiert: is_faster (), is_n_times_faster () und is_fastest (). Tatsächlich ist IS_FASTER () redundant, da is_n_times_faster () dasselbe das Gleiche tun kann, indem Sie N auf die Nummer n auf den 1. Anywhere einstellen können. Sie können eine Subroutine-Referenz bestehen, die Sie auch ein Benchmark-Objekt weitergeben können. # Rufen Sie als # IS_FASTER ($ TASE, $ SUB1, $ SUB2, $ Name) # IS_FASTER ($ schneller, $ Times, $ Sub1, $ SUB2, $ Name) Wenn Sie die Anzahl der Iterationen leer lassen, verwenden Sie die Standardeinstellung von Benchmark .is_Faster () IS_FASTER ($ TASE, $ SUB1, $ SUB2, $ NAME) IS_FASTER ($ FACTION, $ TASE, $ SUB1, $ SUB2, $ NAME) Dies führt jeder Subroutine-Referenz $ $ Times mal und vergleicht dann die Ergebnisse. Anstelle einer Unterroutine-Referenz können Sie ein Benchmark-Objekt weitergeben. Wenn Sie 2 Benchmark-Objekte übergeben, sind $ Times irrelevant. Wenn $ Times negativ ist, ist dann eine Mindestdauer für den Benchmark anstelle einer Reihe von Iterationen (siehe Benchmark für weitere Details). Ich empfehle Ihnen dringend, diese Funktion zu verwenden, wenn Sie möchten, dass Ihre Module immer noch Tests zuverlässig auf Maschinen bestehen, die viel schneller sind als Ihre eigenen. 10000 Iterationen reichen möglicherweise aus, um einen zuverlässigen Benchmark auf Ihrem Heimat-PC auszuführen, aber es ist nur ein funkelndes Twinking im Auge des Super-Computers eines anderen. Wenn der Test fehlschlägt, erhalten Sie eine diagnostische Ausgabe, die die Benchmark-Ergebnisse im Standard-Benchmark-Format zeigt. () is_n_times_faster ($ factor, $ times, $ sub1, $ sub2, $ name) Dies ist genau das gleiche wie das zweite Formular von IS_FASTER, aber es ist nur explizit über die "N-mal" -Teil-teil.is_fastest () is_fastest ($ BName, $ TASE, $ BHash, $ Name) Dies erfordert eine Hash-Referenz, die Benchmark-Unterprogramme als Werte und ihre Namen als Schlüssel enthält. Es fällt jeder Unterprogramm und prüft, ob der in $ BName benannte, der in $ BName am schnellsten war. Wenn der Test fehlschlägt, wird eine sortierte Liste der Timings aller Unterprogramme ausdrucken. Anforderungen: · Perl.


Test: Benchmark. Zugehörige Software