Re: [HS] lignes uniques, performances
Yves Rutschle a écrit, vendredi 26 mars 2004, à 11:01 :
> On Fri, Mar 26, 2004 at 10:11:09AM +0100, Jacques L'helgoualc'h wrote:
> > UUOP = Useless Use Of *Perl* ;)
[...]
> Comme dit J8, ton exemple est discutable.
Bah oui, mon bench était complètement bidon --- j'avais tout de même
éliminé le premier essai, trop défavorable à Perl.
Cependant, ce temps de chargement serait à prendre en compte quand on
analyse en ligne de commande, après tout.
> Je viens donc d'essayer plusieurs choses sur un gros fichier (toutes
> les sources d'un noyau linux concaténées dans un seul fichier, 6
> millions de lignes pour 173M:
Là, je ne suis pas d'accord ! Quand Awk a été développé, les disques
durs étaient moins gros ;) C'est normal que Perl s'en tire mieux sur des
gros fichiers.
Le problème initial était posé sur des fichiers de log, il faudrait
alors plutôt piocher ses données dans /var/log/ ...
J'ai donc réessayé sur une concaténation de /var/log/*.log
mawk
user 0m0.150s
user 0m0.160s
user 0m0.140s
gawk
user 0m0.210s
user 0m0.220s
user 0m0.220s
perl
user 0m0.200s
user 0m0.190s
user 0m0.180s
...mais si je concatène 10 exemplaires de ce log d'environ 810K, le
classement s'inverse complètement, Perl prend l'avantage et mawk
s'effondre...
mawk
user 0m2.160s
gawk
user 0m1.370s
perl
user 0m1.140s
Bon, le plus long c'est de taper la ligne de commande !
--
Jacques L'helgoualc'h
Reply to: