un appel de method est environ .20% plus lent qu'un appel de sub normal. Mais passer directement une ref vers un hash (= objet) plutot queune foule de parametres (ou un hash à plat) rendra sans doute ton prog plus rapide. Mais ce sera du à un code pourri à la base, effectivement...
Les trucs lent en objet en Perl, d'apres mon experience:
- les methodes de classe (constructeur) sont assez lent
- les appels explicites aux supers methodes (SUPER) sont assez lents
- le hash lui meme
- les accesseurs si tu ne veut passer que par eux, meme dans ta propres classe (je toruve que c'est debile, mais beaucoup de fonts)
- les appels de methode heritées sont aussi rapide que des appels normaux (sauf la premiere fois, le temps de chercher la bonne methode dans l'arbre d'heritage)
perso j'utilise enum::fields pour tous mes progs objets en Perl => la vitesse d'un tableau, un "use strict" sur les varaibles d'instance, et en plus on peut heriter avec!
Message édité par pospos le 04-10-2004 à 14:21:10