I also think that gevent must be somehow sub-optimal. I´ve seen comparisons of python web frameworks where gevent based backends don’t perform that well in terms of latency. Waiting for your blog, I´m still a bit confused at what you are doing. did you implement goless with a gevent backend? K
From: [email protected] [mailto:[email protected]] On Behalf Of Rob Galanakis Sent: 30. maí 2014 12:47 To: The Stackless Python Mailing List Subject: Re: [Stackless] goless I was doing some benchmarking of goless under gevent and stackless. The results are pretty astonishing when you do this stuff in the interpreter! I will put it on GitHub later today or tomorrow and also write up a blog. It's possible our implementation is just not a good one regarding gevent, but I sort of doubt it. The stackless/gevent specific code is minimal (goless/backends.py) and I don't see anything ugly that we're doing there. Maybe something is idiomatically very different, or is gevent performance just not very good? Anyway, it should be easy to profile eventually. Using backend StacklessBackend Benchmarking channels: 0.13s: Sync 0.14s: Async 0.13s: Buffered(1000) Benchmarking select: 0.29s: No default case. 0.15s: With default case. Using backend GeventBackend Benchmarking channels: 0.87s: Sync 0.83s: Async 0.82s: Buffered(1000) Benchmarking select: 1.12s: No default case. 0.16s: With default case. On Tue, May 27, 2014 at 7:17 AM, Kristján Valur Jónsson <[email protected]<mailto:[email protected]>> wrote: Well, I started doing some documentation using sphinx the other day but got sidetracked. The current documentation lives in the modules and in the unittests. I guess the only fiddly bit about it currently is to start it up. Currently one has to explicitly get the main loop running. This is because stackless _used_ to only allow stackless.run() on the main tasklet. The latest versions don’t. Once that restriction is removed, having the main loop run implicitly much as the gevent library does (when the Hub singleton is requested) is easy. I need to put that little brick in there, and then everything will run smoothly ☺ K From: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] On Behalf Of Aleksandar Radulovic Sent: 23. maí 2014 11:36 To: The Stackless Python Mailing List Subject: Re: [Stackless] goless Speaking of which, when can we see some more documentation or examples on stacklesslib? ;) I was fiddling with it the other day and couldn't find any good enough examples of stacklesslib usage.. Cheers, alex On Tue, May 20, 2014 at 12:13 PM, Kristján Valur Jónsson <[email protected]<mailto:[email protected]>> wrote: You may want to take a look at the latest version of “stacklesslib”, particularly the stacklesslib.wait module. We now have “waitable” channels, so that you can do similar things to select, e.g. c1 = stacklesslib.wait.WaitChannel() c2 = stacklesslib.wait.WaitChannel() … for c in stacklesslib.wait.iwait([c1, c2]): if c is c1: percolate() elif c is c2: promulgate() A “WaitChannel” is ready when its balance is non-zero. There are also “Sendable” and “Receivable” adapters for WaitChannels to in order to wait for either positive or negative balance. The stacklesslib.util.QueueChannel() is a channel with a fifo queue, which can be either unbounded (the default) or have a maximum length. This is, I believe, similar to Go’s channels. K From: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] On Behalf Of Christian Tismer Sent: 18. maí 2014 00:00 To: The Stackless Python Mailing List Subject: Re: [Stackless] goless On 18.04.14 12:46, Kristján Valur Jónsson wrote: Hi, I though’t I’d mention here an experimental problem that a few of my colleagues worked on during PyCon: Goless! http://goless.readthedocs.org/en/latest/index.html It also shows how more complex behavior can be built on top of the relatively simple primitives that stackless provides. (a bit late, but anyway better than never) Yes, quite neat thing. This could be used as an interesting example for the Stackless talk. cheers - Chris p.s.: actually, I'm studying Go a bit, in order to understand how they do stuff, how they lock, how they schedule, ... -- Christian Tismer :^) [email protected]<mailto:[email protected]> Software Consulting : http://www.stackless.com/ Karl-Liebknecht-Str. 121 : http://www.pydica.net/ 14482 Potsdam : GPG key -> 0xFB7BEE0E phone +49 173 24 18 776<tel:%2B49%20173%2024%2018%20776> fax +49 (30) 700143-0023<tel:%2B49%20%2830%29%20700143-0023> _______________________________________________ Stackless mailing list [email protected]<mailto:[email protected]> http://www.stackless.com/mailman/listinfo/stackless -- a lex 13 x http://a13x.net | @a13xnet _______________________________________________ Stackless mailing list [email protected]<mailto:[email protected]> http://www.stackless.com/mailman/listinfo/stackless
_______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless
