Moi aussi je veux un blog technique actionscript stuff….

27juil/092

Benchmark : booste ton code

Je vais commencer par vous présenter une petite classe dispo sur mon SVN qui peut s'avérer utile pour certains :

la classe Benchmark.

Son but est simple, pouvoir comparer facilement la rapidité d'exécution de plusieurs fonctions pour au final ne conserver que la plus rapide (ou la plus lente, c'est vous qui voyez).

Comme un petit bout de code vaut mieux qui long discours confus, exemple :

Création des fonctions à comparer :

private function func1( a : Array ) : void { for ( var  i : int = 0 ; i < a.length; ++) ; }
private function func2( a : Array ) : void { for each ( var  i : * in a ) ; }
private function func3( a : Array ) : void { var l : int = a.length ; for ( var  i : int = 0 ; i < l; ++) ; }

Initialisation du benchmark avec deux paramètres :
-le nombre d'itérations : correspond au nombre de fois ou chaque fonction sera exécutée à chaque boucle
-le nombre de boucles : correspond au nombre de boucles à faire pour calculer la moyenne

on ajoute le bench à la scène pour afficher le résultat.

var bench : BenchMark = new BenchMark(1000, 10) ;
addChild(bench);

on peut désormais ajouter ses fonctions au bench :
la méthode addFunction accepte les paramètres suivants :
- la fonction à tester
- le scope de la fonction
- la label a afficher pour cette fonction
- le reste des paramètres à transmettre.

// The param to give to the functions
test = new Array() ;
for ( var i : Number = 0 ; i < 5000 ; i++)  test.push(i) ;

bench.addFunction( func1, this, "for with length inside", test) ;
bench.addFunction( func2, this, "for each", test) ;            
bench.addFunction( func3, this, "for int", test) ;

Une fois ceci fait, il ne reste plus qu'à lancer le test pour obtenir le résultat :

bench.start();

Résultat :

capture benchmark

Et oui je suis également un UI Designer émérite.

la classe !

25juil/090

Un premier article sans interet

Bonjour et bienvenue sur ce blog passionnant auquel vous ne manquerez pas de vous syndiquer, c'est certain.

Même s'il est très fortement improbable qu'un internaute égaré consulte cet article durant les semaines à venir, voici les objectifs de ce blog :

- Subjuguer la communauté actionscript francophone puis mondiale  par la fulgurance de mon code (première phase) puis par ma plastique de rêve (deuxième phase)

- Devenir un codeur reconnu rapidement afin d'être invité en tant que speaker au prochain Flash on the beach (je n'ai rien de prévu pour fin septembre)

-Ajouter "investissement au sein de la communauté actionscript et contributions au monde de l'open source" sur mon CV (j'ai du travail mais on ne sait jamais).

-Avoir plus de 2 visites par mois sur mon SVN.

-Tenter de maintenir un blog en vie pendant plus de 3 semaines.

Merci de votre attention.

Remplis sous: misc Aucun commentaire