Yeow! All of 1 second render time on my slow host!

  1397242146.23:RECIPES
  1397242147.32 delta: 1.09702301025: RECIPES

I have updated my commit with your change:  dreyna/recipes_loadtime_6137

- David

From: Damian, Alexandru [mailto:[email protected]]
Sent: Friday, April 11, 2014 11:05 AM
To: Reyna, David
Cc: BARROS PENA, BELEN; Lerner, Dave; [email protected]
Subject: Re: [Toaster] [review-request] V2: 6137 excessive load time for All 
Recipes page

Hello,

I have a small modification to David's patch that improves the loading time 
about 5-fold compared to his latest version, from 5 seconds to less than 1 
second on my laptop.

The trick used is to bring the whole list of dependencies for the entire recipe 
list in a single call, and do the match manually, instead of getting a call per 
recipe.

This approach allows the code to perform constant lookup times independent of 
number of rows.

Since I can't push to contrib on my laptop (something funky about keys), I'm 
attaching the patch for review.

Please let me know how it goes.

Cheers,
Alex

On Fri, Apr 11, 2014 at 5:26 PM, Reyna, David 
<[email protected]<mailto:[email protected]>> wrote:
Hi Belén,

> page still seems to be performing much worse than all other pages. Should
> we be trying to fix the root cause of the problem, ie. the "100*(2+2)
> foreign key lookups and filters/count"?
If we stay with the current design of the page, then I think the solution is 
along the lines:

  1. Add two fields to the Recipe class to hold the respective forward and 
reverse counts to support instant lookup. These values are fixed when the build 
completes so they can be consider constant for our purposes, plus they would 
add very little overhead to the database (if you can get this proposal past 
Alex). An alternate implementation to keep the database pristine is to add the 
ability to cache information like this in some runtime table, so that the 
calculation time is only spent once.

  2. Add a dynamic lookup of a given forward or reverse dependency list when 
one of those buttons are clicked. In this manner we only spend the list 
computation time when explicitly asked, not for every recipe whether they want 
it or not.

- David

> -----Original Message-----
> From: Barros Pena, Belen 
> [mailto:[email protected]<mailto:[email protected]>]
> Sent: Friday, April 11, 2014 5:41 AM
> To: Reyna, David; Lerner, Dave
> Cc: [email protected]<mailto:[email protected]>
> Subject: Re: [review-request] V2: 6137 excessive load time for All Recipes
> page
>
> On 11/04/2014 01:44, "Reyna, David" 
> <[email protected]<mailto:[email protected]>> wrote:
>
> >Here are the timing results on my slow host for the rendering time:
> >
> >  (a) Original: 13 seconds
> >  (b) V1      :  7 seconds
> >  (c) V2      :  4 seconds
>
> This is obviously a huge improvement. What bothers me is that the Recipes
> page still seems to be performing much worse than all other pages. Should
> we be trying to fix the root cause of the problem, ie. the "100*(2+2)
> foreign key lookups and filters/count"?
>
> Thanks!
>
> Belén
>

--
_______________________________________________
toaster mailing list
[email protected]<mailto:[email protected]>
https://lists.yoctoproject.org/listinfo/toaster



--
Alex Damian
Yocto Project
SSG / OTC
-- 
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to