Re: [Twisted-Python] new pb, cPB and general PBness?
[Sorry to take so long to respond to this] Gabe Rudy <rudy@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
On Fri, 2006-03-24 at 00:31 -0800, Brian Warner wrote:
"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.
I'm pretty sure it did speed things up, but the C code has some potential security issues which we never got around to fixing, so it's disabled these days. It could be enabled by users, if they're willing to figure out the problem.
participants (2)
-
Brian Warner -
Itamar Shtull-Trauring