Führen Sie Haskell-Benchmarks für unterschiedlich große Eingaben aus

8

Oft möchte ich die Laufzeitleistung mehrerer Implementierungen derselben Funktion vergleichen. Für einzelne Eingaben ist Kriterium ein gutes Werkzeug.

Aber was ist ein einfacher Weg, um die Leistung des Codes über variierende Eingabegröße, z. um die algorithmische Komplexität zu sehen?

Idealerweise gebe ich der Bibliothek einen Wert vom Typ Benchmarkable r => [(String, Int -> r)] , dh eine Liste größenabhängiger Benchmarks, und die Bibliothek findet automatisch den sinnvollen Eingabebereich für jeden Wert und erstellt daraus eine schöne Grafik.

    
Joachim Breitner 02.07.2013, 09:15
quelle

1 Antwort

8
  

z.B. um die algorithmische Komplexität zu sehen?

Dafür gibt es ein Paket:

Ссылка

Normalerweise verwende ich QuickCheck, um Tests mit zufälligen Datengrößen durchzuführen, und plotte das Ergebnis dann.

    
Don Stewart 02.07.2013 09:21
quelle