Re: [Twisted-Python] Re: GUI responsiveness

On Thu, 15 Sep 2005 10:51:11 -0700, Jasper <jasper@peak.org> wrote:
Two noticeable cases of that are (de)serialization in PB and in XML-RPC code.
There is a thing that SEDA does to make these kinds of things more reasonable. Deferreds are sort of a degenerate case of this thing. They don't name the thing, but I would call it "stage discipline", the act of splitting code up into what they call "stages" and making each stage idempotent except for the terminal, transaction-processing/notification-emitting stage. I think it would be great if more of Twisted did this, but doing it is a big job. Defgen is a slightly-less-degenerate form of this, however, using defgen on something performance critical like (de)serialization is likely to have a HUGE performance hit.
Is there going to be any facility, in newpb, for splitting up (de)serialization in small chunks?
As warner said, "yes".
"shunting all networking into a separate thread" will certainly not work, since all of the APIs that jelly calls are not thread-safe. So you can rest easy in the knowledge that what you want to do is not only disgusting, it's impossible :). However, the problem here is that certain code in Twisted is not as awesome as it possibly could be. While I agree this is sad, there isn't really a solution, except "make it more awesome", which takes time, money, and effort, which nobody is contributing beyond an individual scale. PB has been effectively unmaintained for almost 2 years now. It is showing its age. NewPB will fix several issues, but until someone wants to give Mr. Warner a staff and a budget for improving it, it's likely that it will have some ugly spots too. In other words, you don't have to maintain your own version. You just have to maintain the one in Twisted ;-).

glyph@divmod.com wrote:
Woohoo!
I had thought about this, but I'm pretty strapped for time as my startup is self funded. Plus, it's not exactly like I can just walk into your SVN repository and start hacking. ;-) On the other hand, for all the free mileage I've gotten out of Twisted I do owe you guys a certain debt! Perhaps I could help out on NewPB, especially since I could really use the Slicer code Brian was talking about. However, I'm in a bit of an awkward spot to do so right now though, as I'm not yet using Twisted 2.0 and my project isn't at a good point to upgrade libaries. Still, I've got to upgrade sometime... Is there a good place to read more about NewPB? Or is it just a matter of searching the maillist archives and SVN repository? -Jasper

glyph@divmod.com wrote:
Woohoo!
I had thought about this, but I'm pretty strapped for time as my startup is self funded. Plus, it's not exactly like I can just walk into your SVN repository and start hacking. ;-) On the other hand, for all the free mileage I've gotten out of Twisted I do owe you guys a certain debt! Perhaps I could help out on NewPB, especially since I could really use the Slicer code Brian was talking about. However, I'm in a bit of an awkward spot to do so right now though, as I'm not yet using Twisted 2.0 and my project isn't at a good point to upgrade libaries. Still, I've got to upgrade sometime... Is there a good place to read more about NewPB? Or is it just a matter of searching the maillist archives and SVN repository? -Jasper
participants (2)
-
glyph@divmod.com
-
Jasper