Re: [HS] lignes uniques, performances
Fri, 26 Mar 2004 12:33:17 +0000, Yves Rutschle a écrit :
> On Fri, Mar 26, 2004 at 12:50:20PM +0100, François TOURDE wrote:
> > Euh... Tu es sûr que ta commande ne mesure pas simplement le temps de
> > cat seulement ?
>
> Oui:
> [yves@oban]:yves$ time cat linux > /dev/null
>
> real 0m0.457s
> user 0m0.010s
> sys 0m0.440s
>
>
> J'y avais pensé :-)
Pas tout à fait : dans un tube, il y a deux bouts.
'time cat linux > /dev/null' mesure le temps que met cat pour lire ET pour
envoyer vers /dev/null (qui est un consommateur très rapide).
'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.
De plus, comme le disait Manu <kolter@free.fr>, il faut faire attention
aux buffers du système. Il faut lancer chaque commande au moins trois ou
quatre fois (une centaine pour faire de *vrais* statistiques). 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.
Maintenant, il faut aussi voir :
- l'utilisation que vous voulez en faire :
- la taille de vos données,
- le nombre d'utilisations successives envisagées ;
- ce que vous préférez utiliser ;o)
--
| Sylvain Sauvage, docteur [IAD & SMA] | bzz ? .o:.
| GREYC -- CNRS UMR 6072, Université de Caen | ` % ^..^___§ o::o::
| tél://+33 (0)2 31 56 74 31 | @ (oo) ) ::o::o
|__ http://www.info.unicaen.fr/~sauvage _______| _____`|'___WW¯WW_____][__
Reply to: