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.


Reply via email to