• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

gevent / gevent / 2547 / 3
78%
master: 78%

Build:
Build:
LAST BUILD BRANCH: python-updates
DEFAULT BRANCH: master
Ran 21 Feb 2018 09:49PM UTC
Files 65
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Feb 2018 09:34PM UTC coverage: 73.395%. First build
TASK=test-py36

push

travis-ci

jamadden
Add spawn_tree_locals, spawning_greenlet and spawning_stack to Greenlet

Based on #755.

A comment in the code goes into detail about the timing. Here it is
again:

 Timings taken Feb 21 2018 prior to integration of #755
 python -m perf timeit -s 'import gevent' 'gevent.Greenlet()'
 3.6.4       : Mean +- std dev: 1.08 us +- 0.05 us
 2.7.14      : Mean +- std dev: 1.44 us +- 0.06 us
 PyPy2 5.10.0: Mean +- std dev: 2.14 ns +- 0.08 ns

 After the integration of spawning_stack, spawning_greenlet,
 and spawn_tree_locals on that same date:
 3.6.4       : Mean +- std dev: 8.92 us +- 0.36 us ->  8.2x
 2.7.14      : Mean +- std dev: 14.8 us +- 0.5 us  -> 10.2x
 PyPy2 5.10.0: Mean +- std dev: 3.24 us +- 0.17 us ->  1.5x

Selected bench_spawn output on 3.6.4 before:

//gevent36/bin/python src/greentest/bench_spawn.py eventlet --ignore-import-errors
using eventlet from //gevent36/lib/python3.6/site-packages/eventlet/__init__.py
spawning: 11.93 microseconds per greenlet
sleep(0): 23.49 microseconds per greenlet

//gevent36/bin/python src/greentest/bench_spawn.py gevent --ignore-import-errors
using gevent from //src/gevent/__init__.py
spawning: 3.39 microseconds per greenlet
sleep(0): 17.59 microseconds per greenlet

//gevent36/bin/python src/greentest/bench_spawn.py geventpool --ignore-import-errors
using gevent from //src/gevent/__init__.py
spawning: 8.71 microseconds per greenlet

//gevent36/bin/python src/greentest/bench_spawn.py geventraw --ignore-import-errors
using gevent from //src/gevent/__init__.py
spawning: 2.09 microseconds per greenlet

//gevent36/bin/python src/greentest/bench_spawn.py none --ignore-import-errors
    noop: 0.33 microseconds per greenlet

And after:

//gevent36/bin/python bench_spawn.py gevent --ignore-import-errors
using gevent from //src/gevent/__init__.py
spawning: 12.99 microseconds per greenlet -> 3.8x

//gevent36/bin/python bench_spawn.py geventpool --ignore-import-errors
using gevent from //src/gevent/__init__.py
spawning: 19.49... (continued)

7818 of 10652 relevant lines covered (73.39%)

0.73 hits per line

Source Files on job 2547.3 (TASK=test-py36)
  • Tree
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1
  • Travis Job 2547.3
  • 15fc1ecc on github
  • Next Job for TASK=test-py36 on issue755 (#2548.3)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc