in reply to Re: Slow file creator
in thread Slow file creator

The printing is buffered anyhow, so it's not like a loop would kill perormance.

Play that funky music white boy..

Replies are listed 'Best First'.
Re: Re: Re: Slow file creator
by Berik (Sexton) on Feb 08, 2004 at 00:43 UTC
    But still doing a print call gives overhead,
    because the print buffer will be flushed much
    more often.
    use Benchmark::Timer; my $t = Benchmark::Timer->new(); my $size = 1000000; $t->start( 'string' ); open FW, "> temp.out"; print FW " " x $size; close FW; $t->stop( 'string' ); $t->start( 'loop' ); open FW, "> temp.out"; for ( 0..$size ) { print FW " " } close FW; $t->stop( 'loop' ); $t->report; __END__ Reports: 1 trial of string (17.594ms total) 1 trial of loop (733.321ms total)
    This clearly shows the loop decreases performance.

    Update: I figured that perl could create the string
    at compile time, so I put the size in a variable. But
    this yields thesame results. Perl still optimizes
    the string version in this exapmle. But that was
    also the point I made in the first reply.