Re: Parsing error when parsing the second time
Andy Grundman <[email protected]>
| Newsgroups | gmane.comp.apache.apreq |
|---|---|
| Message-ID | <[email protected]> |
On Apr 30, 2007, at 6:57 PM, Joe Schaefer wrote: > Joe Schaefer <[email protected]> writes: > >> Andy Grundman <[email protected]> writes: >> >>> I'm working on trying to improve the performance of Catalyst's >>> body parsing. >>> We're currently using the all-Perl HTTP::Body, and it actually >>> beats >>> APR::Request for urlencoded data. The regexes are pretty >>> simple, so this >>> isn't too surprising. >> >> I just ran a few microbenchmarks comparing apreq's urldecoding >> parser to >> HTTP::Body, and apreq came out about 10x faster. How are you getting >> your results? > > The test script is I used is here (requires svn trunk): > > http://people.apache.org/~joes/testing_apreq2_vs_http_body.pl > > when I run it with an arg of 10000, here's what it produced: > > Benchmark: timing 10000 iterations of apreq_args, apreq_body, > http_body... > apreq_args: 2 wallclock secs ( 1.89 usr + 0.00 sys = 1.89 CPU) @ > 5291.01/s (n=10000) > apreq_body: 4 wallclock secs ( 3.81 usr + 0.00 sys = 3.81 CPU) @ > 2624.67/s (n=10000) > http_body: 70 wallclock secs (69.84 usr + 0.00 sys = 69.84 CPU) @ > 143.18/s (n=10000) > > I'm guessing you benchmarked by throwing lots of requests at a > webserver, in which case you probably hit a bottleneck somewhere > unrelated to the actual parsing. Thanks Joe, I was using a simple benchmark script but may have been using the wrong apreq method or something. I'll give your script a try. -Andy