- Notifications
You must be signed in to change notification settings - Fork397
3.13 build comments#3300
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Merged
Merged
3.13 build comments#3300
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
During the migration to 3.13 it was suggested to use `make build -j` toautomatically speed up the building process of the documentation to useall available cores. This is red herring in two different ways: * `make`'s `-j` flag can be used to parallelise the processing of `make` target dependencies instead of magically apply parallelisation to the underlying commands. In our case the `make build` command has a sequential sequence of dependencies (venv -> setup -> do_build) so no actual parallelisation is achieved when passing `-j`. `sphinx-build` can be parallelised by giving *it* a `-j` flag, which we already do (`-j auto`). In other words, there's nothing to do on our side to speed things up even further. What we *do* have though is a `make` `SPHINX_JOBS` variable, which acts as the argument to `sphinx-build -j`. Using this users can reduce the number of CPUs they want to use for the build process. * Secondly, an empty `make -j` option (i.e., without a number afterwards), contrary to popular belief, runs as many recipes in parallel as possible [1], *with no regards to the number of available cores*. In most scenarios this is fine because the number of dependencies for a given target isn't that great, or because the target instructions are not that heavy, but it can generate difficult-to-understand problems on occasion. For example, if you are building a shared library that consists on 250 files of heavy C++, you'll end up spawning 250 C++ compilers at the same time, which surely will consume all the memory of your computer, causing them to be OOM-killed. Bottom-line is: never use -j without a value.Signed-off-by: Rodrigo Tobar <rtobar@icrar.org>
8.1 introduces the built-in cvw/cwe roles. During the migration therequirement was bumped to 8.1 while trying to sort out a problem withthe pypi role, which turned out to be the cpython submodule not beingcommitted/pushed properly earlier, and hence the update wasn't necessary(and broke things).Signed-off-by: Rodrigo Tobar <rtobar@icrar.org>
These are already defined in cpython's, let's thus remove the amount ofoverriding we need to provide.Signed-off-by: Rodrigo Tobar <rtobar@icrar.org>
cmaureir approved these changesNov 22, 2024
884379d
intopython:3.13 3 of 4 checks passed
Uh oh!
There was an error while loading.Please reload this page.
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading.Please reload this page.
Detalles en los mensajes de los commits
make build -j
(i.e.: NO usar)sphinx ~= 8.0.0
. En 8.1 agregaron los roles como built-in.conf.py
para reducir la brecha entre el nuestro y el de cpython