Skip to content

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

Merge request reports