I agree and I will be waiting for a patch. ;-)

Anyway from
http://code.google.com/appengine/docs/whatisgoogleappengine.html

"The Python runtime environment uses Python version 2.5.2."
This means that just commenting the two lines I suggested above should
do the trick, until nobody upgrades to 2.6.

Massimo

On Oct 18, 7:33 pm, Robin B <[EMAIL PROTECTED]> wrote:
> These are the benefits of storing the compiled code in RAM (in a
> dict):
>
> 1. guaranteed compatible bytecode (its compiled on the server).
> 2. user does not need to remember to (re)compile the app before
> uploading.
> 3. user does not need to hassle with any .pyc what so ever.
> 4. fastest possible code access (the entire goal is performance)
> 5. gets around the fact that you cannot write the file system.
>
> When trying to upload compiled .pyc, the only 100% guaranteed way to
> get compatible bytecode on the server would be to compile the bytecode
> on the server itself.  Since appengine does not allow writing the pyc
> to the file system, instead store the compiled bytecode in RAM, which
> should always be as fast or faster than storing the bytecode on disk,
> making no assumptions about disk caching.
>
> Robin
>
> On Oct 18, 7:04 pm, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > This is 
> > interesting...http://code.google.com/p/appengine-monkey/issues/detail?id=8
>
> > On Oct 18, 6:57 pm, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > > I see they are not exposing imp.get_magic() because they use a custom
> > > interpreter.
>
> > > Could you also try comment the following lines in compileapp.py and
> > > see what happens?
>
> > >     if data[:4]!=imp.get_magic():
> > >         raise SystemError, "compiled code is incompatible"
>
> > > It is unsafe but it is worth a try.
>
> > > Massimo
>
> > > On Oct 18, 6:47 pm, Robin B <[EMAIL PROTECTED]> wrote:
>
> > > > When I uploaded compiled *.pyc and tried to run it, an error was
> > > > raised, something about imp.get_magic not existing.  It might be
> > > > possible to avoid imp.get_magic and get it loading, but I have not
> > > > tried that.  I did try putting the code into a dict, and that sped
> > > > things up.
>
> > > > Robin
>
> > > > On Oct 18, 5:55 pm, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > > > > Robin,
>
> > > > > is it sufficient to byte-code compile the app and make sure the pyc
> > > > > files (including gluon/*.pyc) are uploaded too or do we need to modify
> > > > > web2py?
>
> > > > > Massimo
>
> > > > > On Oct 18, 5:28 pm, yarko <[EMAIL PROTECTED]> wrote:
>
> > > > > > Sorry - I don't know about *.pyc files;  I assume they're not 
> > > > > > platform
> > > > > > dependent, so I'm assuming that uploading *.pyc files with your app
> > > > > > doesn't work (?).
>
> > > > > > How is the Django support on GAE handling this issue?
>
> > > > > > On Oct 18, 1:51 pm, Robin B <[EMAIL PROTECTED]> wrote:
>
> > > > > > > In compileapp.py, after reading, parsing, and compiling a model, 
> > > > > > > view,
> > > > > > > or controller, if a .pyc cannot be written to disk, instead store 
> > > > > > > the
> > > > > > > compiled code, by file name/function, in a global dict so that 
> > > > > > > next
> > > > > > > request you can simply load the precompiled code directly from 
> > > > > > > RAM.
>
> > > > > > > Since web2py does not have an environment (does not distinguish
> > > > > > > between development and production etc), the only way to update 
> > > > > > > the
> > > > > > > cached code is to check the mtime of each file on every request 
> > > > > > > which
> > > > > > > is wasteful in production where the code does not change, but not
> > > > > > > nearly as wasteful as repeatedly reading, parsing and compiling.
>
> > > > > > > Robin
>
> > > > > > > On Oct 18, 10:27 am, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > On Oct 18, 9:51 am, Robin B <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > > Web2py 'works' on appengine, but it is reading, parsing and 
> > > > > > > > > compiling
> > > > > > > > > the models, controllers, and views on *every* request causing 
> > > > > > > > > all the
> > > > > > > > > wasted CPU cycles.  Normally, web2py caches code as .pyc 
> > > > > > > > > files, but
> > > > > > > > > you cannot write the filesystem on appengine so nothing gets 
> > > > > > > > > cached by
> > > > > > > > > default.  It is trivial to cache the compiled code in a dict 
> > > > > > > > > and reuse
> > > > > > > > > it on the next request.
>
> > > > > > > > Could you explain more?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to