La facon dont le premier mec presente ce qui l'a amene a vouloir en
savoir plus sur l'optimisation du code est ridicule, c'est vrai :)
A peu pret tout ce qui est dis ensuite est en revanche vrai.
Le 2eme poste est un peu extremiste je trouve, en gros il dit que les
gens perdent leur temps a optimiser et que pire, en cherchant
l'optimisation, ils pourraient rendre leur code moins performant sur
certaines machines/certains browsers.
Le 'MICRO BENCHMARKING' comme il est appele dans ce post est juste
remarquable dans une boucle qui itere enormement de fois. Juste par
exemple pour ces composants : carousel / coverflow / moteurs 3d /
moteurs de tweens, l'utilisation de certaines petites optimisation
peuvent faire gagner bien plus que 2 petites frame par secondes.
Faut pas tomber dans l'extreme, c'est a dire benchmarker son 'AS3 RSS
Reader' ou bien ne rien benchmarker du tout.
'Real world performance problems are almost always going to be
inefficient algorithms long before your Array initialization technique
starts taking up the majority of your time'
David R a raison sur ce point, c'est pas les petits tweaks qu'il
faille chercher en premier mais bien l'amelioration de l'algorithme
utilise. Apres, de la a dire que initialiser les Array avec [] plutot
qu'avec new Array() demande plus de temps de developpement ... :)
C'est pour ca que je le trouve un peu extremiste, il exclu totalement
l'optimisation via 'tweaks' alors que c'est tout de meme necessaire
dans certains cas.
On 13 mai, 14:29, "Mem's" <
m.tool...@gmail.com> wrote:
> Moi je serai plutot partagé :
>
> D'un coté, si l'on veux optimiser une application c'est pas en faisant
> tout ça que ça changera grand chose ... sauf dans les cas ou on
> utilise énormément d'object (100k) ou des boucles à n'en plus finir
> avec de nombreuses itérations.
>
> En plus ce genre d'optimisation à prendre comme automatismes lorsque
> l'on programme, c'est à ce retrouver avec du code inbuvable du style:
> var half:uint = integer >>> 1;
> au lieu de
> var half:uint = integer / 2;
>
> Mais d'un autre y a des choses qui tombes sous le sens avec le visible
> = false/alpha = 0 qui permet d'éviter d'avoir un object qui reste
> interactif alors qu'on ne le vois pas
> Ou comme l'utilisation de uint à la place de Number pour des chiffres
> entier non négatifs.
> Ou d'autres comme le ENTER_FRAME à la place d'un Timer, enfin quand on
> a des objects de la vue à rafraichir.
> Dont certaines sont plus ou moins en rapport convention de codages :
http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions
>
> Cf. par exemplehttp://
opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions#C...{{if}}statements