• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 35612794513
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: feature/hadamard-basis-visualization
DEFAULT BRANCH: main
Ran 21 Sep 2026 03:02PM UTC
Jobs 1
Files 966
Run time 4min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Sep 2026 02:31PM UTC coverage: 87.856% (+0.006%) from 87.85%
35612794513

push

github

web-flow
Disable multiprocessing by default on Linux (#16904)

* Disable multiprocessing by default on Linux

This commit switches the default behavior of the parallel_map function
to disable multiprocessing by default on all platforms. We have
routinely faced issues on multiple platforms in the past around mixing
multiprocessing and threading with Python. Historically these stem from
the fork start method having numerous bugs in CPython and it's why macOS
moved to using the spawn start method by default in Python 3.8. Spawn has
it's own issues and that is why we disabled multiprocessing on that
macOS at that time (and on windows which always defaulted to spawn).
This was supposed be adressed in Python 3.14 with the use of forkserver
by default on linux, but this is still causing issues when mixing
threading in Python with multiprocessing. This was prompted by my
attempts at testing code mixing async API interactions in
qiskit-ibm-runtime with multiprocessing enabled transpilation of
multiple circuits on Linux with Python 3.14 reliably resulted in
deadlocks on the transpile call around the multiprocessing and it
never would return.

When weighing these issues and also considering the evolution of Qiskit
over the past few years and the broader of Rust (it is primarily a
Rust library now) and Rust multithreading being used to enable
performance via parallelism instead of Python multiprocessing the
importance of multiprocessing has significantly decreased.
Multiprocessing has now become more of a user challenge than the
performance enabler it was in years past.

This change does not outright disable the possibility of using
multiprocessing, it just means that the end user needs to explicitly
opt-in to using it with the understanding that it is not simply a
go-fast button that has nuance and issues around its usage.

* Apply batched suggestions from code review

Co-authored-by: Jim Garrison <jim@garrison.cc>

* Apply batched suggestions from code review

Co-author... (continued)

0 of 1 new or added line in 1 file covered. (0.0%)

13 existing lines in 3 files now uncovered.

118769 of 135186 relevant lines covered (87.86%)

968761.8 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
75.58
1.42% qiskit/utils/parallel.py

Coverage Regressions

Lines Coverage ∆ File
6
97.66
0.47% crates/qasm2/src/parse.rs
4
81.56
-0.13% crates/circuit/src/parameter/symbol_expr.rs
3
92.8
1.29% crates/qasm2/src/lex.rs
Jobs
ID Job ID Ran Files Coverage
1 35612794513.1 21 Sep 2026 03:02PM UTC 966
87.86
GitHub Action Run
Source Files on build 35612794513
  • Tree
  • List 966
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35612794513
  • 576421aa on github
  • Prev Build on gh-readonly-queue/main/pr-16552-df08035888d9d29679ec71f950063d835899d6d7 (#35578161231)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc