SCons: Default num_jobs to max CPUs minus 1 if not specified

This doesn't change the behavior when `--jobs`/`-j` is specified as a
command-line argument or in `SCONSFLAGS`.

The SCons hack used to know if `num_jobs` was set by the user is derived
from the MongoDB setup.

We use `os.cpu_count()` for portability (available since Python 3.4).

With 4 CPUs or less, we use the max. With more than 4 we use max - 1 to
preserve some bandwidth for the user's other programs.
This commit is contained in:
Rémi Verschelde
2022-07-17 12:34:42 +02:00
parent 17c1d1fd50
commit cdcd473371
2 changed files with 21 additions and 3 deletions

View File

@@ -83,17 +83,17 @@ jobs:
- name: Build godot-cpp (debug)
run: |
scons platform=${{ matrix.platform }} target=debug generate_bindings=yes ${{ matrix.flags }} -j2
scons platform=${{ matrix.platform }} target=debug generate_bindings=yes ${{ matrix.flags }}
- name: Build test without rebuilding godot-cpp (debug)
run: |
cd test
scons platform=${{ matrix.platform }} target=debug ${{ matrix.flags }} build_library=no -j2
scons platform=${{ matrix.platform }} target=debug ${{ matrix.flags }} build_library=no
- name: Build test and godot-cpp (release)
run: |
cd test
scons platform=${{ matrix.platform }} target=release ${{ matrix.flags }} -j2
scons platform=${{ matrix.platform }} target=release ${{ matrix.flags }}
- name: Upload artifact
uses: actions/upload-artifact@v3