Paul Mineiro wrote:
> hi. i'm running mod_perl 1.26 + apache 1.3.14 + perl 5.6.1
>
> i have a loop in a mod_perl handler like so:
> ----
> my $stime = time ();
>
> while ($seq =~ /CG/og)
> {
> push @cg, pos ($seq);
> }
>
> my $etime = time ();
>
> warn "time was: ", scalar localtime ($stime), " ",
> scalar localtime ($etime), " ", $etime - $stime;
> ----
>
> under mod_perl this takes 23 seconds. running the perl "by hand" (via
> extracting this piece into a seperate perl script) on the same data takes
> less than 1 second.
>
> has anyone seen this kind of extreme slowdown before?
Paul,
Your benchmark is wrong. You cannot benchmark code using wallclocks
unless you run on DOS-like system. On multi-processes systems many
processes compete over CPU, so each process gets a little bit of CPU
time every so often, so if you count wallclocks you don't count the
execution time of your program but of all programs that happen to run at
the same time.
To count CPU clocks use Benchmark.pm, it has a fine documentation and
examples so I won't repeat them here. Please fix your benchmark and run
it again.
Also you may want to check certain sections in
http://perl.apache.org/guide/performance.html
_____________________________________________________________________
Stas Bekman JAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide http://perl.apache.org/guide
mailto:[EMAIL PROTECTED] http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/