[Zope] Psyco & Zope

Jim Penny jpenny@universal-fasteners.com
Wed, 23 Oct 2002 15:04:43 -0400


On Wed, Oct 23, 2002 at 01:46:10PM -0500, Skip Montanaro wrote:
> 
>     Antonio> Anybody has try psyco and zope? 
> 
>     Oliver> It rocks!
> 
> Any gotchas?

Only one that I know of, and it is arguably a service.

psyco tries very hard to convert objects to their nearest pythonic
cognate.  timestamps to DateTimes, floats to floats, integers to ints,
etc.

In contrast, postgres wire protocol is ascii, and some other adapters
leave the result as a string rep.  

This can be confusing, especially if you are migrating code that worked
under other adapters.  You may have to expicitly cast your timestamps to
string, you may have to worry about null results and what they return.
In particular, the value 'infinity'::timestamp is handled very poorly as
a result of forcing it into a DateTime.

Frankly, given that this actually increases the number of conversions
going on and occasionally gets in the way, this is one of the few design 
decisions involving psyco that I really do not like. 

I have never tried to handle decimal (fixed point) numbers with psyco.
I know that they gave trouble in PoPy at one point.  That would be an
interesting corner case (and may be correct).

Other than that, it is very stable, and seems to be reasonably fast.

Jim Penny

> 
> -- 
> Skip Montanaro - skip@pobox.com
> http://www.mojam.com/
> http://www.musi-cal.com/
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
>