Fixes for asyncio loops were we don't follow the documentation
Description
This modifies the scheduler and job implementation to spawn new processes and handle callbacks according to the documentation
Benchmarks
We can see that the performances are not worse, even slightly better in some cases.
- Finished in: 102 mins, 46 secs
- Number of builders: [4, 8, 12, 24]
- Target files: base-files/base-files.bst
- Number of runs: 4
- Number of warmups: 2
- Python versions: py37
| action | python_version | commit | median time (secs) | mean time (secs) ± std |
|---|---|---|---|---|
| build - 12 | py37 | bschubert/stricter-asyncio-handling - af8f1c3d | 119.805 | 119.66 ± 0.55 |
| py37 | master - 454ed339 | 121.79 | 121.81 ± 0.28 | |
| build - 24 | py37 | bschubert/stricter-asyncio-handling - af8f1c3d | 118.555 | 118.48 ± 0.19 |
| py37 | master - 454ed339 | 120.215 | 120.25 ± 0.39 | |
| build - 4 | py37 | bschubert/stricter-asyncio-handling - af8f1c3d | 120.91 | 121.01 ± 0.62 |
| py37 | master - 454ed339 | 122.175 | 122.11 ± 0.42 | |
| build - 8 | py37 | bschubert/stricter-asyncio-handling - af8f1c3d | 122.375 | 122.23 ± 0.84 |
| py37 | master - 454ed339 | 125.105 | 125.01 ± 0.31 | |
| show | py37 | bschubert/stricter-asyncio-handling - af8f1c3d | 8.03 | 8.01 ± 0.15 |
| py37 | master - 454ed339 | 4.875 | 4.87 ± 0.03 | |
| show - cached | py37 | bschubert/stricter-asyncio-handling - af8f1c3d | 8.195 | 8.14 ± 0.20 |
| py37 | master - 454ed339 | 8.18 | 8.14 ± 0.18 |
Edited by Benjamin Schubert