Hi Antoine,

Thanks for your answer.

On May 31, 7:13 pm, Antoine Pitrou <[email protected]> wrote:
> If your bottleneck is in a specific set of functions, you can
> recompile them (and only them) using psyco.bind().

Yes, I tried doing that as well. But even then I get one of the above
errors. I suspect that it is caused by the TurboGears decorators
trying to access a f_trace attribute:

"Frame objects are emulated. The sys._getframe function returns an
instance of a custom class which emulates the standard frame objects'
behavior as much as possible. The frames corresponding to a Psyco-
accelerated frame have some placeholder attributes, notably f_locals.
There is no way to read the local variables of a Psyco-accelerated
frame. Actually, only the f_code, f_globals, f_back and f_lineno
fields are well-tested. Also keep in mind that if you obtain a real
frame object (which you can do with some other mean than
sys._getframe, e.g. via a traceback object), the f_back chained list
will not include the Psyco-accelerated frames."

> If not, you'll have to apply other techniques (e.g. application-level
> caching).

I am already doing this (although it can be improved).

> Note: psyco gives a large boost on simple, straight-forward code (e.g.
> tight computing loops), but not on complex object-oriented code with
> many indirections. My experience of psyco with a Twisted application
> is that the global speedup was between 30% and 100%.

That sounds great.

Best regards,
Jesper
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to