2012-10-12 13 views

Antwort

6

Der schnelle Weg ist testing.Benchmark zu verwenden: Sie schreiben Sie einfach so etwas wie

object Bench extends testing.Benchmark { 
    // initialize your data here 
    def run() { 
    // code to benchmark here 
    } 
} 

, die Sie mit so etwas wie scala Bench 5 1000000 laufen (oder direkt von Ihrem IDE, die Bearbeitung der Laufzeitkonfiguration), die Sie Timings für 5 gibt Sätze von 1000000 Wiederholungen der run() Methode. Sie können die Zeiten für jedes Set vergleichen und überprüfen, ob es konsistent geworden ist (das erste Set ist normalerweise aufgrund des JVM-Aufwärmens langsamer).

Für einen rigoroseren Ansatz mit Caliper, einem Java Microbenchmarking-Framework, siehe diesen Blogbeitrag: http://www.decodified.com/scala/2011/04/19/microbenchmarking-scala-code.

+3

'testing.Benchmark' ist jetzt veraltet in Scala 2.10 –

+14

Es wäre toll, wenn seine Dokumentation erwähnt, WARUM es veraltet ist oder was Sie an seiner Stelle verwenden sollen ... –