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