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

Reply via email to