0.13.8:Done 998 requests (0 failures) in 34.99 seconds [28.52 req/sec]Request percentiles: mean: 101.21 50%: 90.28 75%: 142.04 90%: 200.37 99%: 333.82
1.0.2:Done 998 requests (0 failures) in 44.58 seconds [22.38 req/sec]Request percentiles: mean: 133.20 50%: 110.04 75%: 179.77 90%: 245.06 99%: 766.39
import geventimport time
def test(): start = time.time() for n in xrange(100000): gevent.sleep(0) return time.time() - start
print [test() for _ in xrange(10)]
[0.9938888549804688, 0.9902729988098145, 0.9916880130767822, 0.9745519161224365, 0.9556670188903809, 0.9612908363342285, 0.959618091583252, 0.9578731060028076, 0.9588639736175537, 0.9585850238800049]
[0.5551230907440186, 0.5567431449890137, 0.5528249740600586, 0.5553970336914062, 0.5544919967651367, 0.5473408699035645, 0.5450968742370605, 3.153994083404541, 4.591259002685547, 3.9078118801116943]
[4.665871858596802, 3.5736589431762695, 3.468141794204712, 4.282025098800659, 4.229030132293701, 3.214601993560791, 0.5512881278991699, 0.5353419780731201, 0.5437362194061279, 0.5354230403900146]
...etc
vagrant@precise64:~$ docker build -t gevent-repro:latest https://github.com/steveniemitz/gevent-repro.git
<... snip ...>
vagrant@precise64:~$ docker run --rm gevent-repro:latest[2.0547568798065186, 1.9169600009918213, 2.519369125366211, 1.7542948722839355, 0.9130430221557617, 1.1009140014648438, 1.0500757694244385, 0.9520280361175537, 1.048987865447998, 1.242807149887085]vagrant@precise64:~$ docker run --rm gevent-repro:latest[0.8453240394592285, 2.0958290100097656, 0.8345727920532227, 2.4779369831085205, 2.6614830493927, 2.288416862487793, 2.3216190338134766, 2.1939380168914795, 0.6827738285064697, 0.6621580123901367]
pprint({ c: getattr(core, c) for c in dir(core) })
On OSX:
{'ASYNC': 524288, 'BACKEND_EPOLL': 4, 'BACKEND_KQUEUE': 8, 'BACKEND_POLL': 2, 'BACKEND_PORT': 32, 'BACKEND_SELECT': 1, 'CHECK': 32768, 'CHILD': 2048, 'CLEANUP': 262144, 'CUSTOM': 16777216, 'EMBED': 65536, 'ERROR': -2147483648, 'EVENTS': gevent.core.EVENTS, 'EV_USE_4HEAP': 0, 'EV_USE_CLOCK_SYSCALL': 0, 'EV_USE_EVENTFD': 0, 'EV_USE_FLOOR': 1, 'EV_USE_INOTIFY': 0, 'EV_USE_MONOTONIC': 0, 'EV_USE_NANOSLEEP': 64, 'EV_USE_REALTIME': 0, 'EV_USE_SIGNALFD': 0, 'FORK': 131072, 'FORKCHECK': 33554432, 'IDLE': 8192, 'LIBEV_EMBED': True, 'MAXPRI': 2, 'MINPRI': -2, 'NOINOTIFY': 1048576, 'NONE': 0, 'NOSIGMASK': 4194304, 'PERIODIC': 512, 'PREPARE': 16384, 'READ': 1, 'READWRITE': 3, 'SIGNAL': 1024, 'SIGNALFD': 2097152, 'STAT': 4096, 'TIMER': 256, 'UNDEF': -1, 'WRITE': 2,
And ubuntu 12:
{'ASYNC': 524288, 'BACKEND_EPOLL': 4, 'BACKEND_KQUEUE': 8, 'BACKEND_POLL': 2, 'BACKEND_PORT': 32, 'BACKEND_SELECT': 1, 'CHECK': 32768, 'CHILD': 2048, 'CLEANUP': 262144, 'CUSTOM': 16777216, 'EMBED': 65536, 'ERROR': -2147483648, 'EVENTS': gevent.core.EVENTS, 'EV_USE_4HEAP': 2, 'EV_USE_CLOCK_SYSCALL': 1, 'EV_USE_EVENTFD': 64, 'EV_USE_FLOOR': 1, 'EV_USE_INOTIFY': 64, 'EV_USE_MONOTONIC': 1, 'EV_USE_NANOSLEEP': 64, 'EV_USE_REALTIME': 0, 'EV_USE_SIGNALFD': 64, 'FORK': 131072, 'FORKCHECK': 33554432, 'IDLE': 8192, 'LIBEV_EMBED': True, 'MAXPRI': 2, 'MINPRI': -2, 'NOINOTIFY': 1048576, 'NONE': 0, 'NOSIGMASK': 4194304, 'PERIODIC': 512, 'PREPARE': 16384, 'READ': 1, 'READWRITE': 3, 'SIGNAL': 1024, 'SIGNALFD': 2097152, 'STAT': 4096, 'TIMER': 256, 'UNDEF': -1, 'WRITE': 2,
'EV_USE_4HEAP': 0, 'EV_USE_CLOCK_SYSCALL': 0, 'EV_USE_EVENTFD': 0, 'EV_USE_FLOOR': 1, 'EV_USE_INOTIFY': 0, 'EV_USE_MONOTONIC': 0, 'EV_USE_NANOSLEEP': 64, 'EV_USE_REALTIME': 0, 'EV_USE_SIGNALFD': 0,
boot2docker centos: 1.0.2 0.832945299149 0.13.8 0.579929566383 1.0.2 0.865805792809 0.13.8 0.586617588997 1.0.2 0.909332203865 0.13.8 0.600034832954 1.0.2 0.872926926613 0.13.8 0.641606879234 1.0.2 0.850731801987 0.13.8 0.611116147041
boot2docker 15.04: 1.0.2 0.666646838188 0.13.8 0.521508479118 1.0.2 0.682622003555 0.13.8 0.51507191658 1.0.2 0.702557969093 0.13.8 0.519368267059 1.0.2 0.483837246895 0.13.8 0.513943505287 1.0.2 0.481173658371 0.13.8 0.513987255096
os x: 1.0.2 0.335381054878 0.13.8 0.328310465813 1.0.2 0.344401860237 0.13.8 0.338456845284 1.0.2 0.334801054001 0.13.8 0.327352237701 1.0.2 0.338637924194 0.13.8 0.332820987701 1.0.2 0.336233186722 0.13.8 0.341444063187
Amazon Linux AMI release 2014.09: 1.0.2 0.804312229156 0.13.8 1.05503075123 1.0.2 0.852017474174 0.13.8 1.05490190983 1.0.2 0.788119864464 0.13.8 1.18320939541 1.0.2 0.791809844971 0.13.8 1.08416850567 1.0.2 0.888424324989 0.13.8 1.04688000679
And now the weird one, some other random 12.04 instance we have:
1.0.2 0.587259078026 0.13.8 0.774785208702 1.0.2 0.561364197731 0.13.8 0.746203279495 1.0.2 0.560575842857 0.13.8 0.775955438614 1.0.2 0.594487857819 0.13.8 0.779750490189 1.0.2 0.57145447731 0.13.8 0.763056874275