Skip to content

Re-enable parallel sphinx builds by default#9348

Merged
mergify[bot] merged 2 commits intoQiskit:mainfrom
mtreinish:parallel-sphinx
Jan 6, 2023
Merged

Re-enable parallel sphinx builds by default#9348
mergify[bot] merged 2 commits intoQiskit:mainfrom
mtreinish:parallel-sphinx

Conversation

@mtreinish
Copy link
Copy Markdown
Member

Summary

With the recent merge of #9346 that stopped using the problematic jupyter-sphinx plugin we're no long blocked from running sphinx-build in parallel anymore. We had originally enabled this in #4477 to get a speed boost during docs builds. However, we were forced to revert that in #6539 because jupyter-sphinx was unreliable and had a race condition when 2 jupyter-execute blocks were run at the same time (see #5904 for more details). Since we've removed the jupyter-sphinx usage that is no longer a problem and we can reliably run parallel sphinx builds again. This commit makes that change and changes the default sphinx-build behavior when run via tox (as is done via ci) to use all available system cores to perform a sphinx build. Annecdoteally this provides a nice speed up, on my local workstation a full docs build went from taking 8min 42 seconds for a serial build to 2min 35sec with a parallel build.

Details and comments

With the recent merge of Qiskit#9346 that stopped using the problematic
jupyter-sphinx plugin we're no long blocked from running sphinx-build in
parallel anymore. We had originally enabled this in Qiskit#4477 to get a speed
boost during docs builds. However, we were forced to revert that in Qiskit#6539
because jupyter-sphinx was unreliable and had a race condition when 2
jupyter-execute blocks were run at the same time (see Qiskit#5904 for more
details). Since we've removed the jupyter-sphinx usage that is no longer
a problem and we can reliably run parallel sphinx builds again. This
commit makes that change and changes the default sphinx-build behavior
when run via tox (as is done via ci) to use all available system cores
to perform a sphinx build. Annecdoteally this provides a nice speed up,
on my local workstation a full docs build went from taking 8min 42
seconds for a serial build to 2min 35sec with a parallel build.
@mtreinish mtreinish requested a review from a team as a code owner January 6, 2023 16:41
@qiskit-bot
Copy link
Copy Markdown
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the the following people are requested to review this:

  • @Qiskit/terra-core

@mtreinish mtreinish added type: qa Issues and PRs that relate to testing and code quality Changelog: None Do not include in the GitHub Release changelog. labels Jan 6, 2023
Copy link
Copy Markdown
Member

@jakelishman jakelishman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@coveralls
Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 3857363255

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 84.579%

Totals Coverage Status
Change from base Build 3857188091: 0.0%
Covered Lines: 64200
Relevant Lines: 75905

💛 - Coveralls

@mergify mergify Bot merged commit 198be45 into Qiskit:main Jan 6, 2023
king-p3nguin pushed a commit to king-p3nguin/qiskit-terra that referenced this pull request Jan 11, 2023
With the recent merge of Qiskit#9346 that stopped using the problematic
jupyter-sphinx plugin we're no long blocked from running sphinx-build in
parallel anymore. We had originally enabled this in Qiskit#4477 to get a speed
boost during docs builds. However, we were forced to revert that in Qiskit#6539
because jupyter-sphinx was unreliable and had a race condition when 2
jupyter-execute blocks were run at the same time (see Qiskit#5904 for more
details). Since we've removed the jupyter-sphinx usage that is no longer
a problem and we can reliably run parallel sphinx builds again. This
commit makes that change and changes the default sphinx-build behavior
when run via tox (as is done via ci) to use all available system cores
to perform a sphinx build. Annecdoteally this provides a nice speed up,
on my local workstation a full docs build went from taking 8min 42
seconds for a serial build to 2min 35sec with a parallel build.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Cryoris pushed a commit to Cryoris/qiskit-terra that referenced this pull request Jan 12, 2023
With the recent merge of Qiskit#9346 that stopped using the problematic
jupyter-sphinx plugin we're no long blocked from running sphinx-build in
parallel anymore. We had originally enabled this in Qiskit#4477 to get a speed
boost during docs builds. However, we were forced to revert that in Qiskit#6539
because jupyter-sphinx was unreliable and had a race condition when 2
jupyter-execute blocks were run at the same time (see Qiskit#5904 for more
details). Since we've removed the jupyter-sphinx usage that is no longer
a problem and we can reliably run parallel sphinx builds again. This
commit makes that change and changes the default sphinx-build behavior
when run via tox (as is done via ci) to use all available system cores
to perform a sphinx build. Annecdoteally this provides a nice speed up,
on my local workstation a full docs build went from taking 8min 42
seconds for a serial build to 2min 35sec with a parallel build.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changelog: None Do not include in the GitHub Release changelog. type: qa Issues and PRs that relate to testing and code quality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants