I applied the patch with comment modification to 1.6.x and master.
It seems the change did a lot of good to all of query benchmarks. Most
1.6.x ORM results are now 1.1 to 1.3x faster than in 1.5.x. Full results in
the end of this post.
There is still some problems, template rendering seems to
It may be useful to place a comment where @wraps was removed, lest some later
do-gooder "fix" it.
On Sep 17, 2013, at 12:06 AM, Marc Tamlyn wrote:
> Can't say I'm hugely worried about perfect tracebacks and introspection with
> internal kind of functions here if it
Can't say I'm hugely worried about perfect tracebacks and introspection
with internal kind of functions here if it affects performance. The patch
looks good. I'd add a comment to say why we're not using @wraps in that
context though so someone doesn't go back and add it.
On 17 Sep 2013 07:57,
I did some investigation to query_iterator, and most of the slowdown is
caused by functools.wraps. When used in nested context @wraps seems to be
really slow. For example, try this with and without @wraps:
http://pastebin.com/5ejAKuKd
Should we care about this slowdown? Can we do without
This was a case where there was a tradeoff between correctness and
speed. Previously EmptyQuerySet (the class used by .none() internally)
wasn't a real QuerySet class. This caused a couple of problems
(subclassing and no error checking at least). Now .none() just generates
a WhereNode for the
I guess it's related to a2396a4c8f[1] and #19184[2].
[1]
https://github.com/django/django/commit/a2396a4c8f2ccd7f91adee6d8c2e9c31f13f0e3f
[2] https://code.djangoproject.com/ticket/19184
Le dimanche 15 septembre 2013 20:05:43 UTC-4, Curtis Maloney a écrit :
>
> So what's going on here:
>
>
So what's going on here:
Running 'query_none' benchmark ...
Min: 0.44 -> 0.000262: 5.9674x slower
Avg: 0.47 -> 0.000290: 6.1906x slower
Significant (t=-12.805744)
Stddev: 0.1 -> 0.00013: 14.5148x larger (N = 50)
--
Curtis
On 15 September 2013 16:31, Anssi Kääriäinen
On Sunday, September 15, 2013 3:13:09 AM UTC+3, Curtis Maloney wrote:
>
> Hey, thanks for that!
>
> It would be nice to have something that would chart this over time...
> something like some people have set up for GCC.
>
> I've never been able to get djangobench to give meaningful results,
>
Hey, thanks for that!
It would be nice to have something that would chart this over time...
something like some people have set up for GCC.
I've never been able to get djangobench to give meaningful results,
otherwise I'd do it.
Mmm... perhaps I've just found a use for my odroid :)
--
Curtis
I just ran djangobench comparing 1.5 to 1.6. The biggest thing seems to be
form_create bechmark, the average is 15x slower. But for some reason the
minimum runtime is just 1.16x slower. This seems a bit strange. This might
be worth more investigation.
Otherwise there doens't seem to be
10 matches
Mail list logo