Frage

Ich beschloss, zu sehen, wie lange es dauern würde, dass es durch ein Array von Hashes isoliert ist.Unten ist der Code:

generasacodicetagpre.

Die Zeit wird berechnet, indem die aktuelle Uhrzeit nach der Schleife von der aktuellen Zeit vor der Schleife subtrahiert wird.

Dies war die Zeit, in der die Berechnung der Berechnung in YARV 2.1.1 nahm, entsprechend der Mathematik im Code:

generasacodicetagpre.

Hier ist es, wie lange es in Rubinius 2.2.6 dauerte:

generasacodicetagpre.

und jruby 1.7.12

generasacodicetagpre.

Angeblich Rubinius und Jruby haben Leistungsvorteile gegenüber dem YARV.Warum dauern sie fast das 12-fache der Zeit, um denselben Grundbetrieb auszuführen?Ist das normal oder habe ich etwas nicht ordnungsgemäß konfiguriert?

War es hilfreich?

Lösung

Sie sind zu winzigen Zeiten, die von der Umweltbelastung beeinträchtigt werden.Um zuverlässigen Benchmarks zu erfahrenen Benchmarks zu haben, müssen Sie mindestens 10 Sekunden Zeiträume erhalten, um Warmup-Zeiten zu mildern.In etwa 10 Sekunden erwarte ich, dass Jruby der am meisten leistungsfähig ist, gefolgt von Rubin und Rubinius.

Lass uns sehen:

generasacodicetagpre.


generasacodicetagpre.

Dies ist der Ausgang auf meinem Computer (ich benutze Fischhell + Rbenv, Sie sollten Ihr eigenes Skript schreiben):

generasacodicetagpre.

Wie ich angenommen habe, ist Jruby mit 4.367000 am schnellsten als Rubin mit 8.188726 und letzten Rubinius mit 14.193565.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top