- 15 Apr, 2018 1 commit
-
-
Jason Madden authored
Use environment markers to install CFFI on windows so the libuv backend can really be default
-
- 14 Apr, 2018 7 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
Also try working around all the failed builds that pip 10 created: https://ci.appveyor.com/project/denik/gevent/build/1.0.1667/job/9jarsdxb6y0x2smd
-
Jason Madden authored
[skip ci]
-
- 13 Apr, 2018 3 commits
-
-
Jason Madden authored
-
Jason Madden authored
[skip ci]
-
Jason Madden authored
[skip ci]
-
- 10 Apr, 2018 1 commit
-
-
Jason Madden authored
Add extension points to gevent.monkey using events and setuptools entry points.
-
- 09 Apr, 2018 1 commit
-
-
Jason Madden authored
-
- 03 Apr, 2018 1 commit
-
-
Jason Madden authored
Fixes #1162. Refs #1158.
-
- 02 Apr, 2018 1 commit
-
-
Jason Madden authored
Make libuv the default backend on Windows. Fixes #1163.
-
- 31 Mar, 2018 3 commits
-
-
Jason Madden authored
-
Jason Madden authored
[skip ci]
-
Jason Madden authored
-
- 30 Mar, 2018 8 commits
-
-
Jason Madden authored
Update to libuv 1.19.2. Fixes #1129.
-
Jason Madden authored
-
Jason Madden authored
Use runpy.run_path for `python -m gevent.monkey`
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
This lets us run packages and compiled files, as well as automatically taking care of all the import related globals like __file__ and __package__. Fixes #1157
-
Jason Madden authored
Update to 3.7.0b3
-
Jason Madden authored
-
- 29 Mar, 2018 1 commit
-
-
Jason Madden authored
-
- 27 Mar, 2018 3 commits
-
-
Jason Madden authored
The good news is that current master is about 10-15% faster for sendall than 1.2.2 was (e.g., 301ws vs 256ms in Python 3.6). udp sendto is roughly unaffected (within the margins, based on the native performance). Moving the chunking implementation of sendall to Cython doesn't show any improvements (so that's not a bottleneck, at least in these benchmarks). The "bad" news is that both UDP and (especially) sendall perform much worse than native (native does about 47ms for sendall). This is probably related to the fact that we're doing everything in one process and one thread, and it is CPU bound; the native process can use 150% CPU or so, but the gevent version cannot. So the comparison is not directly meaningful. [skip ci]
-
Jason Madden authored
Compile the important hub operations that use Waiters with Cython
-
Jason Madden authored
-
- 26 Mar, 2018 4 commits
-
-
Jason Madden authored
-
Jason Madden authored
Since we've come this far, might as well keep taking advantage of the effort... There are substantial improvements on the micro benchmarks for things that wait and switch: | Benchmark | 27_hub_master2 | 27_hub_cython5 | |---------------------|----------------|------------------------------| | multiple wait ready | 1.96 us | 1.10 us: 1.77x faster (-44%) | | wait ready | 1.47 us | 897 ns: 1.64x faster (-39%) | | cancel wait | 2.93 us | 1.81 us: 1.61x faster (-38%) | | switch | 2.33 us | 1.94 us: 1.20x faster (-17%) | | Benchmark | 36_hub_master2 | 36_hub_cython6 | |---------------------|----------------|------------------------------| | multiple wait ready | 1.28 us | 820 ns: 1.56x faster (-36%) | | wait ready | 939 ns | 722 ns: 1.30x faster (-23%) | | cancel wait | 1.76 us | 1.37 us: 1.29x faster (-23%) | | switch | 1.60 us | 1.35 us: 1.18x faster (-16%) |
-
Jason Madden authored
Compile gevent.queue and gevent.hub.waiter with Cython
-
Jason Madden authored
-
- 25 Mar, 2018 5 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
This gives massive performance benefits to queues: | Benchmark | 27_queue_master | 27_queue_cython2 | |----------------------------------------|-----------------|------------------------------| | bench_unbounded_queue_noblock | 2.09 us | 622 ns: 3.37x faster (-70%) | | bench_bounded_queue_noblock | 2.55 us | 634 ns: 4.02x faster (-75%) | | bench_bounded_queue_block | 36.1 us | 7.29 us: 4.95x faster (-80%) | | bench_channel | 15.4 us | 6.40 us: 2.40x faster (-58%) | | bench_bounded_queue_block_hub | 13.6 us | 3.89 us: 3.48x faster (-71%) | | bench_channel_hub | 7.55 us | 3.38 us: 2.24x faster (-55%) | | bench_unbounded_priority_queue_noblock | 5.02 us | 3.18 us: 1.58x faster (-37%) | | bench_bounded_priority_queue_noblock | 5.48 us | 3.22 us: 1.70x faster (-41%) | In a "real" use caes (pool.imap) it shows up as a 10-20% improvement: | Benchmark | 36_pool_event5 | 36_pool_ubq_cython | |--------------------|----------------|-----------------------------| | imap_unordered_seq | 553 us | 461 us: 1.20x faster (-17%) | | imap_unordered_par | 301 us | 265 us: 1.14x faster (-12%) | | imap_seq | 587 us | 497 us: 1.18x faster (-15%) | | imap_par | 326 us | 275 us: 1.19x faster (-16%) | | spawn | 310 us | 284 us: 1.09x faster (-8%) | Not significant (3): map_seq; map_par; apply
-
Jason Madden authored
Timing as of this commit (macOS 10.13.3, MacBook Pro retina 15-inch, mid 2015, default loop impls): | Benchmark | 27_queue_master | 27pypy_queue_master | 36_queue_master | 37_queue_master | |----------------------------------------|-----------------|---------------------------------|------------------------------|------------------------------| | bench_unbounded_queue_noblock | 2.09 us | 10.8 ns: 193.75x faster (-99%) | 1.34 us: 1.56x faster (-36%) | 1.24 us: 1.69x faster (-41%) | | bench_bounded_queue_noblock | 2.55 us | 10.9 ns: 234.91x faster (-100%) | 1.67 us: 1.53x faster (-35%) | 1.55 us: 1.65x faster (-39%) | | bench_bounded_queue_block | 36.1 us | 2.28 us: 15.81x faster (-94%) | not significant | 12.9 us: 2.80x faster (-64%) | | bench_channel | 15.4 us | 1.91 us: 8.03x faster (-88%) | 9.96 us: 1.54x faster (-35%) | 8.17 us: 1.88x faster (-47%) | | bench_bounded_queue_block_hub | 13.6 us | 1.07 us: 12.64x faster (-92%) | 8.61 us: 1.57x faster (-36%) | 7.66 us: 1.77x faster (-44%) | | bench_channel_hub | 7.55 us | 760 ns: 9.94x faster (-90%) | 5.11 us: 1.48x faster (-32%) | 4.33 us: 1.75x faster (-43%) | | bench_unbounded_priority_queue_noblock | 5.02 us | 186 ns: 26.97x faster (-96%) | 1.63 us: 3.08x faster (-68%) | 1.60 us: 3.14x faster (-68%) | | bench_bounded_priority_queue_noblock | 5.48 us | 183 ns: 29.91x faster (-97%) | 1.98 us: 2.77x faster (-64%) | 1.79 us: 3.07x faster (-67%) | [skip ci]
-
Jason Madden authored
Compile IMap[Unordered] with Cython
-
- 24 Mar, 2018 1 commit
-
-
Jason Madden authored
-