in reply to Speeding up commercial Web applications
is about six times faster than:my $out=''; for (0..1000) { $out .= "$_"." bottles of beer on the wall\n"; } print $out;
Changing all the code to look this way is probably too much trouble. So here's an idea that is only three times faster than print:for (0..1000) { print "$_"," bottles of beer on the wall\n"; }
Then change your code to call Print instead of print. This is a small change that can be applied in a batch fashion to all of your slow code to speed it up.package Print; require Exporter; @ISA = qw(Exporter); @EXPORT_OK = qw(Print); our $sout=''; sub Print { $sout .= "@_"; } END { print $sout; } 1;
This hasn't been through a lot of testing, I just wrote it.use Print qw (Print); for (0..1000) { Print "$_"," bottles of beer on the wall\n"; }
It is good practice to create some output for the user to look at early in your program, then buffer up the rest of the output that is slow to generate.
It should work perfectly the first time! - toma
|
---|