Je propose la fonction UniqueElems5 suivante qui semble juste un chouia plus rapide que UniqueElems3 (en utilisant l'implémentation xs du module ce qui est normalement fait par défaut).
#!/usr/bin/perl use strict; use warnings; use List::MoreUtils 'uniq';
Je propose la fonction UniqueElems5 suivante qui semble juste un
chouia plus rapide que UniqueElems3 (en utilisant l'implémentation
xs du module ce qui est normalement fait par défaut).
#!/usr/bin/perl
use strict;
use warnings;
use List::MoreUtils 'uniq';
Je propose la fonction UniqueElems5 suivante qui semble juste un chouia plus rapide que UniqueElems3 (en utilisant l'implémentation xs du module ce qui est normalement fait par défaut).
#!/usr/bin/perl use strict; use warnings; use List::MoreUtils 'uniq';
Je propose la fonction UniqueElems5 suivante qui semble juste un chouia plus rapide que UniqueElems3 (en utilisant l'implémentation xs du module ce qui est normalement fait par défaut).
Bien vu. J'avais jeté un œil à List::Util (qui ne propose pas de fonction 'uniq') mais j'avais oublié List::Module.
Je propose la fonction UniqueElems5 suivante qui semble juste un
chouia plus rapide que UniqueElems3 (en utilisant l'implémentation
xs du module ce qui est normalement fait par défaut).
Bien vu. J'avais jeté un œil à List::Util (qui ne propose pas de
fonction 'uniq') mais j'avais oublié List::Module.
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
Je propose la fonction UniqueElems5 suivante qui semble juste un chouia plus rapide que UniqueElems3 (en utilisant l'implémentation xs du module ce qui est normalement fait par défaut).
Bien vu. J'avais jeté un œil à List::Util (qui ne propose pas de fonction 'uniq') mais j'avais oublié List::Module.
Sur une liste de 10000 éléments, c'est moins visible. Mais dès qu'on travaille sur de petites listes, la différence est plus importante. Et la fonction 'uniq' de List::MoreUtils reste toujours la plus rapide (sans compter qu'il n'y a pas à la maintenir).
le truc est de passer la référence par $a = shift; et de modifier le tableau in situ avec le @$a.
Sur une liste de 10000 éléments, c'est moins visible. Mais dès qu'on
travaille sur de petites listes, la différence est plus importante. Et
la fonction 'uniq' de List::MoreUtils reste toujours la plus rapide
(sans compter qu'il n'y a pas à la maintenir).
le truc est de passer la référence par $a = shift;
et de modifier le tableau in situ avec le @$a.
Ça, c'est expliqué en détail dans 'perlref'...
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
Sur une liste de 10000 éléments, c'est moins visible. Mais dès qu'on travaille sur de petites listes, la différence est plus importante. Et la fonction 'uniq' de List::MoreUtils reste toujours la plus rapide (sans compter qu'il n'y a pas à la maintenir).
le truc est de passer la référence par $a = shift; et de modifier le tableau in situ avec le @$a.