Yes there is a gevent backend. Has been from day one. You can force one
over the other by setting the GOLESS_BACKEND envvar to 'stackless' or
'gevent'.


On Tue, Jun 3, 2014 at 7:45 AM, Kristján Valur Jónsson <
[email protected]> wrote:

>  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]> 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 J
>
>
>
> K
>
>
>
> *From:* [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]> 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]] *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]
>
> 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  fax +49 (30) 700143-0023
>
>
> _______________________________________________
> Stackless mailing list
> [email protected]
> http://www.stackless.com/mailman/listinfo/stackless
>
>
>
>
>
> --
> a lex 13 x
> http://a13x.net | @a13xnet
>
>
> _______________________________________________
> Stackless mailing list
> [email protected]
> http://www.stackless.com/mailman/listinfo/stackless
>
>
>
> _______________________________________________
> Stackless mailing list
> [email protected]
> http://www.stackless.com/mailman/listinfo/stackless
>
_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to