[Twisted-Python] new pb, cPB and general PBness?

Brian Warner warner at lothar.com
Fri Mar 24 01:31:04 MST 2006


[Sorry to take so long to respond to this]

Gabe Rudy <rudy at goldenhelix.com> writes:

> So I'm happily using pb and am generally content with the performace, but 
> noticed the documentation mentioning that a C version of the jelly functions 
> might be forthcoming kind of like the cPickle library. 
>
> What is the status of "c" pb? I also saw talk of a "new" pb implementation 
> (pb2?) and am wondering if the C version is being put on hold until the new 
> pb protocol stabilizes. The new pb talk has got me curious as well. What's 
> "new" or different about it?

"c" PB, by which you're probably referrering to cBanana, is still around, I
think. It replaces a small portion of the serialization process with a C
extension. I have no idea how much this might help. The architecture of
existing twisted.spread PB is not ideally suited towards replacing large
parts of it with C extensions, so there is probably a limit as to how much it
could be sped up this way.

"newpb", which is the next-generation PB that lives in twisted.pb (in SVN),
does not yet have any C extensions to speed it up, but I've tried to design
it in such a way that it will be easier to write them, and to make it
possible to replace more of the protocol implementation with C extensions
than in oldpb. This will need to interact with the creactor/cppreactor code
that Itamar has in his sandbox. But my hope is that newpb will be relatively
straightforward to make really fast.


I've just now created a trac/wiki page for newpb, with a brief list of
features and some pointers to docs.. please take a look!

 http://twistedmatrix.com/trac/wiki/NewPB

cheers,
 -Brian




More information about the Twisted-Python mailing list