Skip to content

Improve Build Performance #3870

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
davidfischer opened this issue Mar 28, 2018 · 4 comments
Closed

Improve Build Performance #3870

davidfischer opened this issue Mar 28, 2018 · 4 comments
Labels
Accepted Accepted issue on our roadmap Improvement Minor improvement to code

Comments

@davidfischer
Copy link
Contributor

Details

I don't mean to single out the Godot project but this issue is easily visible with their project because it has a long build time. A local build of the Godot Docs took 20 full minutes on my local CPU (core i7 2.3ghz). CPU was maxed 99%+ on a single core for almost all of the time (Yay, GIL). Memory usage was less than 200MB. All but a small percentage of the time was spent on the writing output... step.

Possibilities:

  • Use pypy. In a preliminary test, using pypy cut my local build time by 50% on Godot. Memory usage was a bit higher. This would probably have to be an opt-in feature as pypy would probably break some doc builds.
  • Get faster build servers
  • Investigate sphinx performance improvements
@agjohnson
Copy link
Contributor

I have another client that notices long Sphinx build times. I'd be curious what a profile on Sphinx looks like for either project. I'm not quite sure where it's spending time currently, though I have some ideas.

@stale
Copy link

stale bot commented Jan 10, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the Status: stale Issue will be considered inactive soon label Jan 10, 2019
@stsewd stsewd added Accepted Accepted issue on our roadmap and removed Status: stale Issue will be considered inactive soon labels Jan 10, 2019
@stsewd
Copy link
Member

stsewd commented Aug 27, 2019

We have pypy3.5 on our builders now https://docs.readthedocs.io/en/stable/config-file/v2.html#build

@humitos
Copy link
Member

humitos commented Mar 11, 2020

@davidfischer I think this issue can be closed. We are supporting pypy3.5 now in the config file.

Besides, we have a bigger and faster builder servers with the new scaling groups.

@humitos humitos closed this as completed Apr 14, 2020
humitos added a commit that referenced this issue Jul 6, 2023
We introduced PyPy support as an alternative way to make Sphinx builds faster in
#3870

We enabled it in some projects and we tried to communicate this to some CPU
intense projects. However, nobody kept using it after doing some experiments
with it.

I checked our logs and Telemetry data and I found 0 projects using `pypy` in
their builds. So, I'm happy to remove its support and simplify our product as
its maintainance as well.

Even the PyPy project is not using it when building their own documentation:
https://readthedocs.org/projects/pypy/builds/21201174/
humitos added a commit that referenced this issue Jul 10, 2023
We introduced PyPy support as an alternative way to make Sphinx builds faster in
#3870

We enabled it in some projects and we tried to communicate this to some CPU
intense projects. However, nobody kept using it after doing some experiments
with it.

I checked our logs and Telemetry data and I found 0 projects using `pypy` in
their builds. So, I'm happy to remove its support and simplify our product as
its maintainance as well.

Even the PyPy project is not using it when building their own documentation:
https://readthedocs.org/projects/pypy/builds/21201174/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Accepted issue on our roadmap Improvement Minor improvement to code
Projects
None yet
Development

No branches or pull requests

5 participants