Re: Benchmarking 1.5 vs 1.6

2013-09-17 Thread Anssi Kääriäinen
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

Re: Benchmarking 1.5 vs 1.6

2013-09-17 Thread Jeremy Dunck
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

Re: Benchmarking 1.5 vs 1.6

2013-09-17 Thread Marc Tamlyn
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,

Re: Benchmarking 1.5 vs 1.6

2013-09-17 Thread Anssi Kääriäinen
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

Re: Benchmarking 1.5 vs 1.6

2013-09-16 Thread Anssi Kääriäinen
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

Re: Benchmarking 1.5 vs 1.6

2013-09-15 Thread charettes
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: > >

Re: Benchmarking 1.5 vs 1.6

2013-09-15 Thread Curtis Maloney
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

Re: Benchmarking 1.5 vs 1.6

2013-09-15 Thread 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, >

Re: Benchmarking 1.5 vs 1.6

2013-09-14 Thread Curtis Maloney
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

Benchmarking 1.5 vs 1.6

2013-09-14 Thread Anssi Kääriäinen
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