[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] lignes uniques, performances



Selon Yves Rutschle <debian.anti-spam@rutschle.net>:

> On Fri, Mar 26, 2004 at 02:47:13PM +0100, Sylvain Sauvage wrote:
> > Pas tout à fait : dans un tube, il y a deux bouts.
> 
> Qui sont comptés en temps système...
> 
> > 'time cat linux | perl ...' mesure le temps que met cat pour lire ET pour
> > donner les infos à perl. Pas forcément celui que met perl pour lire ce qui
> > vient de cat (preuve : le temps est différent avec <linux). Le tube est un
> > buffer qui modifie le comportement de cat ET celui de perl.
> 
> Non, le tube ne modifie que le temps système et `time cat
> linux | perl` mesure le temps de l'ensemble, pas du tout
> simplement cat. L'execution de cat (en temps user) est bien
> évidement très courte:
> 
> [yves@oban]:yves$ (time cat linux ) | perl -ne 'print if !$l{$_}++' >
> /dev/null
> 
> real    1m4.090s
> user    0m0.030s
> sys     0m1.620s
> 
> Le temps système depend d'autres choses (buffers et swap
> par exemple) et le temps réel a évidement peu de rapports
> avec notre problème.
> 
> > De plus, comme le disait Manu <kolter@free.fr>, il faut
> > faire attention aux buffers du système. Et je pense qu'il
> > faudrait même ignorer la première (lorsque le noyau lit le
> > fichier pour la première fois). Une autre solution est
> > d'avoir un fichier qui soit deux ou trois fois plus gros
> > que la mémoire disponible : ça éliminerait le cache de
> > linux.
> 
> Tout ça ne change pas le temps *user* qui est le seul à être
> à peu près prédictible. Qq soit la charge, il devrait


à mon avis si, je ne peux pas tester car je n'ai qu'une connexion ssh sous la
main mais si tu fais : time ls /usr/bin

2 fois de suite, je pense que le temps user va être complètement différent....

ce qui montre que ce que le système garde en cache mémoire influ sur les
perfs... et que pour fait un comparatif de programmes qui traite les mêmes
données (obtenu par le même appel systemes, dans notre cas lecture d'un
fichier), le cache mémoire est un paramètre à prendre en compte......


M.

> rester le même, même si tu swappes le process, même si tu le
> fais tourner sur un portable que tu endors pendant 45 jours
> avant de le reveiller pour finir.
> 
> Et donc, avec des charges CPU de plus en plus grosses:
> 
> [yves@oban]:yves$ time perl -ne 'print if !$l{$_}++' < linux > /dev/null
> 
> real    5m1.439s
> user    0m24.810s
> sys     0m5.030s
> [yves@oban]:yves$ time perl -ne 'print if !$l{$_}++' < linux > /dev/null
> 
> real    11m1.316s
> user    0m25.720s
> sys     0m21.720s
> 
> Les temps users restent essentiellement les mêmes.  Dans le
> second cas, le temps système est soudainement plus grand car
> linux a commencé à swapper (perl monte à plus de 270Mo).
> 
> 
> >Il faut lancer chaque commande au moins trois ou
> > quatre fois (une centaine pour faire de *vrais*
> > statistiques).  
> 
> Je suis d'accord avec ça, et je dois avouer par rapport à
> mon premier mail que la différence entre cat | perl et perl
> < fichier se perd dans le bruit de mesure. Ça montre tout de
> même que le UUOC n'est finalement pas particulièrement
> horrible.
> 
> Y.
> 
> 
> -- 
> Pensez à lire la FAQ de la liste avant de poser une question :
> http://wiki.debian.net/?DebianFrench
> 
> Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
> 
> To UNSUBSCRIBE, email to debian-user-french-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
> 
> 


-- 
Emmanuel Bouthenot - Kolter
  MAIL : kolter@free.fr
   GPG : 0x414EC36E
   WWW : http://kolter.free.fr
JABBER : kolter@amessage.info
   TEL : (+33) 06 17 29 01 91



Reply to: