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 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]. For more options, visit this group at http://groups.google.com/group/app-engine-patch?hl=en.
