def test_gevent2(): global CH import gevent2 print gevent2 from gevent2 import spawn, channel, wait CH = channel() start = time() spawn(channel_recv_send) CH.send(True) spawn(channel_recv_send) wait() return time() - start
def test_gevent1(): global CH import gevent print gevent, gevent.__version__ from gevent.queue import Channel from gevent import spawn, wait CH = Channel() start = time() spawn(channel_get_put) CH.put(True) spawn(channel_get_put) wait() return time() - start
import gevent2 as gevent from time import time ch = gevent.channel() N = 1000 * 1000 count = N def func(): global count while count > 0: ch.send(ch.receive()) count -= 1 start = time() gevent.spawn(func) ch.send(True) gevent.spawn(func) gevent.wait() took = time() - start assert not count, count print('%s sends took %.3fs' % (N, took)) # XXX if channel reference is lost, the cothread blocking on the channel should throw
import gevent2 #from socket import getaddrinfo def myfunc(): print gevent2.getaddrinfo('localhost', 'http') gevent2.spawn(myfunc) print gevent2.spawn(gevent2.getaddrinfo, 'gevent.org', 'http') gevent2.wait()
import gevent2 as gevent log = [] def hello1(): log.append(0) gevent.sleep(0) log.append(2) def hello2(): log.append(1) gevent.sleep(0) log.append(3) gevent.spawn(hello1) gevent.spawn(hello2) gevent.wait() assert log == [0, 1, 2, 3], log