Ran the benchmarks on Rails 3, which would actually suggest faster
multipart parsing for a small number of parameters. Otherwise the
numbers are similar. Hongli, thoughts?
= 1 key/value pair, 1000 posts
user system total real
default: 1.310000 0.240000 1.550000 ( 25.266783)
multipart: 1.360000 0.230000 1.590000 ( 23.380536)
= 1000 key/value pairs, 1000 posts
user system total real
default: 26.120000 0.730000 26.850000 ( 73.697901)
multipart: 26.330000 0.720000 27.050000 ( 74.567602)
On 17 jun, 20:46, joost <[email protected]> wrote:
> Here are some preliminary benchmarks, done with a fresh Rails 2.3.8
> app, ruby 1.8.7, and a single render :nothing => true.
>
> It does seem multipart forms are a bit slower overall, although they
> were faster under webrick for a high number of parameters. As far as I
> could tell the numbers scaled linearly.
>
> In concrete terms, for Passenger, when posting 1000 simple parameters
> the speed penalty is 0.764 ms (yes milliseconds).
> Will repeat with a Rails 3 app too and post those results.
> Benchmark script:http://gist.github.com/442546
>
> Webrick:
> = 1 key/value pair, 1000 posts
> ? ? ? user ? ? system ? ? ?total ? ? ? ?real
> ? default: ?1.320000 ? 0.150000 ? 1.470000 ( 15.797317)
> multipart: ?1.400000 ? 0.130000 ? 1.530000 ( 16.273821)
> = 1000 key/value pairs, 1000 posts
> ? ? ? user ? ? system ? ? ?total ? ? ? ?real
> ? default: 26.170000 ? 0.570000 ?26.740000 ( 74.681545)
> multipart: 26.130000 ? 0.540000 ?26.670000 ( 74.073439)
>
> Passenger
> = 1 key/value pair, 1000 posts
> ? ? ? user ? ? system ? ? ?total ? ? ? ?real
> ? default: ?1.250000 ? 0.160000 ? 1.410000 ( 25.887364)
> multipart: ?1.300000 ? 0.150000 ? 1.450000 ( 26.857967)
> = 1000 key/value pairs, 1000 posts
> ? ? ? user ? ? system ? ? ?total ? ? ? ?real
> ? default: 26.060000 ? 0.510000 ?26.570000 ( 70.453057)
> multipart: 26.060000 ? 0.480000 ?26.540000 ( 71.216598)
>
> On 17 jun, 16:47, Joost Baaij <[email protected]> wrote:
>
>
>
> > I can take a stab at this using AB, not until after next week due to a
> > short vacation though.
>
> > Op 17 jun 2010, om 16:43 heeft Prem Sichanugrist het volgende geschreven:
>
> > > +1 on benchmarking result. would love to see from
>
> > > - Apache + Passenger
> > > - Nginx + Passenger
> > > - Mongrel
> > > - Thin
> > > - Webrick
>
> > > What should be the method of benchmark?
>
> > > On 17 ??.?. 2553, at 21:40, Hongli Lai wrote:
>
> > >> On Jun 17, 9:29 am, Joost Baaij <[email protected]> wrote:
> > >>> Yes there are: multipart forms send more data since every field has its
> > >>> own MIME header. From RFC2388:
>
> > >>> "The multipart/form-data encoding has a high overhead and performance
> > >>> impact if there are many fields with short values. However, in
> > >>> practice, for the forms in use, for example, in HTML, the average
> > >>> overhead is not significant."
>
> > >>> If this overhead was deemed not significant in August 1998, in my
> > >>> opinion it is even less significant now and this is a change we could
> > >>> make without any problems.
>
> > >> I don't think multipart parsing is very expensive nowadays, but I have
> > >> some doubts about the efficiency of the Rails/Rack multipart parser.
> > >> It performs a lot of string operations and if it creates a tempfile
> > >> even for small files then it can totally kill parsing performance.
>
> > >> Someone should benchmark this stuff.
>
> > >> --
> > >> You received this message because you are subscribed to the Google
> > >> Groups "Ruby on Rails: Core" group.
> > >> To post to this group, send email to [email protected].
> > >> To unsubscribe from this group, send email to
> > >> [email protected].
> > >> For more options, visit this group
> > >> athttp://groups.google.com/group/rubyonrails-core?hl=en.
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "Ruby on Rails: Core" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected].
> > > For more options, visit this group
> > > athttp://groups.google.com/group/rubyonrails-core?hl=en.
>
> > Vanaf 18 juni ben ik een week op vakantie.
> > From June 18 I will be on vacation for a week.
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Core" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en.