Performance in/output

Tuomas J. Lukka lukka at fas.harvard.edu
Sun Feb 14 01:42:06 CST 1999


Koitapa 

undef $/
print <STDIN>;

Ja sitten myös

do {read STDIN, $_, 100000; print $_} while defined $_;


On Tue, 16 Feb 1999, Hannu Martikka wrote:

> Heip!
> 
> Kun tästä nyt oli puhetta niin kiusataan kaikkia tälläisellä
> pikkutestillä. :)
> 
> Sain tälläisiä tuloksia ajamalla 4.1M file 50x scriptin läpi > /dev/null.
> Kone oli 266 PII/Linux ja perl5.004_05.
> 
> print while (defined(<STDIN>));
> 47.740u 3.210s 0:51.50 98.9% (defined)
> 47.950u 3.000s 0:51.52 98.8% (defined)
> 47.710u 2.680s 0:50.66 99.4% (defined)
> 
> print while <STDIN>;
> 50.660u 4.050s 0:55.79 98.0% ()
> 50.240u 3.360s 0:54.03 99.2% ()
> 50.410u 3.680s 0:54.90 98.5% ()
> 
> while (<STDIN>) {
>         print;
> }
> 51.750u 3.330s 0:55.50 99.2% (while)
> 51.520u 3.460s 0:55.25 99.5% (while)
> 51.760u 3.290s 0:55.77 98.7% (while)
> 
> Eli vaikuttaisi siltä että 99.2% cpu-teholla tuo 3-kohta (while) olisi n
> 1.2 sec hitaampi kuin kohdan 2 versio.
> Sitten tuo 1-kohta eli (defined) on taas 3-5 sec muita nopeampi...
> 
> Mitähän tuo defined voi tuossa aiheuttaa että nopeutta tulee tuollain
> lisää?
> 
> Lisäksi kokeilin tälläistä mutta tämä ei ollut ollenkaan hyvä idea:
> print <STDIO>;
> 83.320u 7.460s 1:30.88 99.8% (print <STDIO>)
> 82.660u 7.810s 1:30.80 99.6% (print <STDIO>)
> 
> Tuossa menee jo 40sec enempi aikaa...




More information about the Helsinki-pm mailing list