Skip to content

job.py: Replace message queue with pipe

Jürg Billeter requested to merge juerg/job-pipe into master

A lightweight unidirectional pipe is sufficient to pass messages from the child job process to its parent.

This also avoids the need to access the private _reader instance variable of multiprocessing.Queue.

Benchmark

  • Finished in: 29 mins, 38 secs
  • Number of builders: [4, 8, 12]
  • Target files: base-files/base-files.bst
  • Number of runs: 3
  • Number of warmups: 1
  • Python versions: py37
action python_version commit median time (secs) mean time (secs) ± std
build - 4 py37 juerg/job-pipe - bb75662a 65.58 65.61 ± 0.27
py37 master - a8fb5cd7 73.22 73.00 ± 0.45
build - 8 py37 juerg/job-pipe - bb75662a 61.96 61.78 ± 0.76
py37 master - a8fb5cd7 68.7 68.72 ± 0.08
build - 12 py37 juerg/job-pipe - bb75662a 61.1 61.23 ± 0.44
py37 master - a8fb5cd7 68.69 68.74 ± 0.43
show py37 juerg/job-pipe - bb75662a 5.72 5.67 ± 0.11
py37 master - a8fb5cd7 4.49 4.49 ± 0.04
show - cached py37 juerg/job-pipe - bb75662a 5.77 5.77 ± 0.03
py37 master - a8fb5cd7 5.66 5.66 ± 0.03
Edited by Jürg Billeter

Merge request reports