If this is some fixed data that needs to be searched almost every
request, how about breaking it into a lot of chunks (e.g., if it's
words, you could have 26 dicts, one for each starting letter) and hard-
coding it as a python variable declarations in static files -- one
dict per file.  That would help you around the 1MB limits on variable
and file size, right?

When you read in each file as a module, the variable declarations
would be automatically cached between requests, which would really
decrease the load.

On Dec 7, 10:10 am, adrian <[EMAIL PROTECTED]> wrote:
> My app needs some fixed data that I need to search during almost every
> request to my app.  It's over 1 MB as a dict in a python file so I
> can't do that.
>
> So I've been reading a binary picked file but this is taking almost 2
> CPU seconds and 900k function calls according to profile.   I get a
> CPU usage warning on every request.
>
> I tried replacing pickle with marshal and it reduced the function
> calls to 15k for the same data, and was much faster on the dev
> server.   So I uploaded it to the production server, but it dies
> saying that marshal has no load method.  It appears that marshal.load
> () is not supported on AppEngine, but if so, why is it available on
> the dev server?
>
> I realize that marshal may change with python version updates, so this
> is not an optimal solution, so I'm open for other solutions to try.
>
> Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to