Heute möchte ich kurz auf eine neue Veröffentlichung von Grant Skinner hinweisen. Performancetest dient für Performancetests in ActionScript 3 und liegt nun in überarbeiteten Version als zweite Beta vor.

Einige der Hauptfeatures sind:

  • Track time, memory usage and retained (unreleased) memory for functions.
  • Test rendering time for any display object.
  • Write simple one line tests, or build formal test suites.
  • Run multiple iterations of tests to get min, max, and deviation values.
  • Run tests synchronously, or queue them to run them asynchronously.

Beispiel

Das folgende Beispiel belegt, dass x = x + 3 schneller ist, als dreimal die 1 in drei Codezeile nacheinander zu addieren. Das Ergebnis wird so präsentiert:

[TestSuite name='Calculator' tareTime=0 time=-1]
[MethodTest name='variante1' time=21.0 min=20 max=24 ...
[MethodTest name='variante2' time=33.3 min=33 max=34 ...

Variante 1 dauert 21ms, während der Dreizeiler 33ms benötigt.

Der Quellcode ist in zwei Klassen aufgeteilt. Einmal die Hauptklasse und einmal die Klasse mit dem Test. Generell gibt es in PerformanceTest-Bibliothek auch noch einfacher Testmöglichkeiten, so dass diese Aufteilung nach zwangsweise notwendig ist.

Actionscript:

  1. span style="color: #808080; font-style: italic;">// text field
  2. // test   
  3. "\n");
  4.         }
  5.        
  6.            
  7.     }
  8. }

Actionscript:

  1. span style="color: #ff0000;">"Calculator""Vergleiche Addition. "+loops+" loops.""variante1", 0, 1, "x + 3""variante2", 0, 1"x + 1; x + 1; x + 1"

Link: Grant Skinner PerformanceTest