Programmer en object permet-il de gagner en vitesse d'execution ? - Perl - Programmation
Marsh Posté le 02-10-2004 à 04:35:30
Non, ça n'ira pas plus vite. A part si tu programme bien en objet, et n'importe comment en non objet. De toute façon les objets en Perl sont la plupart du temps des hash.
Marsh Posté le 04-10-2004 à 14:20:37
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!
Marsh Posté le 01-10-2004 à 12:46:35
Bonjour,
Je débute en perl et j'aimerais si programmer en object permet-il de gagner en vitesse d'execution ?
(En vitesse pour écrire ses script, je n'en doute pas. )
J'ai tout un set de data que je passe dans diverse hash_table.
En object, ça irait plus vite théoriquement ?
Je vais quand même essayer ça tout à l'heure.