Ensure we are not calling methods with side effects on the element graph in jobs
Description
This refactors our handling of elements to ensure we are never calling something with side effects while running in jobs.
This will become critical once we are running in a threaded scheduler, but is already important as it might hide some bugs (as some have already been found)
Benchmark
- Finished in: 91 mins, 23 secs
- Number of builders: [4, 8, 12]
- Target files: base-files/base-files.bst
- Number of runs: 3
- Number of warmups: 1
- Python versions: py38
action | python_version | commit | median time (secs) | mean time (secs) ± std |
---|---|---|---|---|
build - 12 | py38 | bschubert/stricter-job-scheduler-separation - 131d7b76 | 174.92 | 177.78 ± 6.15 |
py38 | master - ea235b9d | 172.71 | 173.10 ± 1.09 | |
build - 4 | py38 | bschubert/stricter-job-scheduler-separation - 131d7b76 | 178.4 | 177.31 ± 2.03 |
py38 | master - ea235b9d | 172.44 | 172.83 ± 1.48 | |
build - 8 | py38 | bschubert/stricter-job-scheduler-separation - 131d7b76 | 173.01 | 172.82 ± 0.93 |
py38 | master - ea235b9d | 170.19 | 170.81 ± 2.00 | |
show | py38 | bschubert/stricter-job-scheduler-separation - 131d7b76 | 5.25 | 5.25 ± 0.15 |
py38 | master - ea235b9d | 5.02 | 5.02 ± 0.06 | |
show - cached | py38 | bschubert/stricter-job-scheduler-separation - 131d7b76 | 11.38 | 11.31 ± 0.27 |
py38 | master - ea235b9d | 11.34 | 11.52 ± 0.34 | |
show - sources fetched | py38 | bschubert/stricter-job-scheduler-separation - 131d7b76 | 7.42 | 7.32 ± 0.19 |
py38 | master - ea235b9d | 7.28 | 7.26 ± 0.20 | |
source fetch | py38 | bschubert/stricter-job-scheduler-separation - 131d7b76 | 87 | 87.35 ± 0.63 |
py38 | master - ea235b9d | 85.35 | 84.99 ± 0.86 |
Edited by Benjamin Schubert