=head1 Benchmarking CGI.pm and Apache::Request Let's write two registry scripts that use C<CGI.pm> and C<Apache::Request> to process the form's input and print it out. benchmarks/cgi_pm.pl -------------------- use strict; use CGI; my $q = new CGI; print $q->header('text/plain'); print join "\n", map {"$_ => ".$q->param($_) } $q->param; benchmarks/apache_request.pl ---------------------------- use strict; use Apache::Request (); my $r = Apache->request; my $q = Apache::Request->new($r); $r->send_http_header('text/plain'); print join "\n", map {"$_ => ".$q->param($_) } $q->param; Now let's benchmark the two: % ab -n 1000 -c 10 \ 'http://localhost/perl/benchmarks/cgi_pm.pl?a=b&c=+k+d+d+f&d=asf&as=+1+2+3+4' Time taken for tests: 57.112 seconds Requests per second: 17.51 Connnection Times (ms) min avg max Connect: 0 6 319 Processing: 191 561 4563 Total: 191 567 4882 % ab -n 1000 -c 10 \ 'http://localhost/perl/benchmarks/apache_request.pl?a=b&c=+k+d+d+f&d=asf&as=+1+2+3+4' Time taken for tests: 23.662 seconds Requests per second: 42.26 Connnection Times (ms) min avg max Connect: 0 3 263 Processing: 152 232 597 Total: 152 235 860 Apparently the latter script using C<Apache::Request> is more than twice and a half faster. Again this benchmark shows that the real timing of the input processing, when the script is much heavier the overhead of using C<CGI.pm> can be insignificant. ______________________________________________________________________ Stas Bekman | JAm_pH -- Just Another mod_perl Hacker http://stason.org/ | mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] | http://perl.org http://stason.org/TULARC/ http://singlesheaven.com| http://perlmonth.com http://sourcegarden.org ----------------------------------------------------------------------