2009/12/29 Waldemar Kornewald <[email protected]> > On Tue, Dec 29, 2009 at 9:38 AM, Olivier Deckmyn <[email protected]> > wrote: > >> > > >> > My secret weapon was : > >> > > >> > from google.appengine.dist import use_library > >> > > >> > > >> > use_library('django', '1.1') > >> > >> For anyone: what the advantages of app-engine-patch (AEP) over and > >> above the Google-packaged Django? > >> > >> I thought some were claiming loading a .zip file included with AEP was > >> faster than the Google way. > > > > I must confess that the only drawback I saw in AEP was the load time - > you > > can loose up to 5s per request on non-intensive instance. You can always > > build a ping keep-alive mechanism, but it's not in the spirit of the > > platform. > > Are you comparing the minimal built-in Django vs "all of AEP features > enabled" (which the sample project does)? That would be like comparing > apples and oranges. >
I don't remember precisely the values. Yes it might be 4 or 5s. It's not a scientific measure using server logs - it's the time experienced by end-user, based on the real-world application. Don't feel bad Waldemar, I love and appreciate your work - and still use it daily. > > I don't know where you got that 5s number, but here are a few numbers > for an almost minimal example: > > http://takashi-matsuo.blogspot.com/2009/10/minimum-cost-of-various-frameworks-cold.html > > Here, app-engine-patch still has features enabled which try to > auto-detect modules and there's quite a bit of setup code, so there's > more work going on than in a minimal Django (and in our native Django > port). Anyway, this is the base line, so from here any added modules > should have exactly the same load time, no matter whether you use the > minimal Django or aep. The 5s number you mentioned doesn't seem very > realistic. The difference should be more like 0.5s added due to aep > (compared to built-in Django). We should be able to fully get rid of > that in our native Django port, so my hope is that with a few > optimizations we can achieve load times in the range of Kay. > > One difference is that Django preloads the models.py modules of all > INSTALLED_APPS. This is a very useful feature because you can, for > instance, install signal handlers while keeping your apps reusable, > but it can slow down startups a little bit (shouldn't be significant, > though). You might get rid of that by having two different > INSTALLED_APPS settings for production and local development. The > setting is mostly important for models.py preloading and unit tests, > but the latter is really only needed for local development. > > >> I thought some described that there is > >> functionality in AEP important to them that's not in the Google > >> Django. > > > > There are. But I found ways to work around them. > > I guess you only needed a small subset of the features. Otherwise > you'd have rewritten half of the Django framework. ;) > > The complete list of features is here: > http://code.google.com/p/app-engine-patch/ > > The helper's features are listed here: > http://code.google.com/p/google-app-engine-django/ > > Any features mentioned on those two sites are not available with the > built-in Django. > > Bye, > Waldemar Kornewald > > -- > > You received this message because you are subscribed to the Google Groups > "app-engine-patch" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<app-engine-patch%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/app-engine-patch?hl=en. > > > -- You received this message because you are subscribed to the Google Groups "app-engine-patch" 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/app-engine-patch?hl=en.
