Skip to content

Commit 4ded913

Browse files
committed
change default value of --process to (number of CPUs)-1
Related: #2980 Signed-off-by: Miroslav Suchý <[email protected]>
1 parent e795bc6 commit 4ded913

File tree

6 files changed

+17
-6
lines changed

6 files changed

+17
-6
lines changed

CHANGELOG.rst

+4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ v33.0.0 (next next, roadmap)
3030
license detection and reduce false positives.
3131
See https://github.com/nexB/scancode-toolkit/issues/3300
3232

33+
- default value for `--processes` was previously 1. It was changed
34+
to (number of CPUs)-1.
35+
See https://github.com/aboutcode-org/scancode-toolkit/issues/2980
36+
3337
- File categorization support added, a post scan plugin tagging
3438
files with priority levels for review, and also take advantage
3539
of these in other summary plugins.

docs/source/cli-reference/help-text-options.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ The Following Help Text is displayed, i.e. This is the help text for Scancode Ve
165165
seconds. [default: 120 seconds]
166166
-n, --processes INT Set the number of parallel processes to use. Disable
167167
parallel processing if 0. Also disable threading if
168-
-1. [default: 1]
168+
-1. [default: (number of CPUs)-1]
169169
-q, --quiet Do not print summary or progress.
170170
-v, --verbose Print progress as file-by-file path instead of a
171171
progress bar. Print verbose scan counters.

docs/source/rst_snippets/core_options.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ All "Core" Scan Options
22
-----------------------
33

44
-n, --processes INTEGER Scan ``<input>`` using n parallel processes.
5-
[Default: 1]
5+
[Default: (number of CPUs)-1]
66

77
-v, --verbose Print verbose file-by-file progress messages.
88

src/scancode/cli.py

+9-2
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,13 @@ def validate_input_path(ctx, param, value):
201201

202202
return value
203203

204+
def default_processes():
205+
""" return number that is used as a default value for --processes """
206+
cpu_count = os.cpu_count()
207+
if cpu_count > 1:
208+
return cpu_count-1
209+
else:
210+
return 1
204211

205212
@click.command(name='scancode',
206213
epilog=epilog_text,
@@ -230,10 +237,10 @@ def validate_input_path(ctx, param, value):
230237

231238
@click.option('-n', '--processes',
232239
type=int,
233-
default=1,
240+
default=default_processes(),
234241
metavar='INT',
235242
help='Set the number of parallel processes to use. '
236-
'Disable parallel processing if 0. Also disable threading if -1. [default: 1]',
243+
'Disable parallel processing if 0. Also disable threading if -1. [default: (number of CPUs)-1]',
237244
help_group=cliutils.CORE_GROUP, sort_order=10, cls=PluggableCommandLineOption)
238245

239246
@click.option('--timeout',

tests/scancode/data/help/help.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Options:
138138
seconds. [default: 120 seconds]
139139
-n, --processes INT Set the number of parallel processes to use. Disable
140140
parallel processing if 0. Also disable threading if
141-
-1. [default: 1]
141+
-1. [default: (number of CPUs)-1]
142142
-q, --quiet Do not print summary or progress.
143143
-v, --verbose Print progress as file-by-file path instead of a
144144
progress bar. Print verbose scan counters.

tests/scancode/data/help/help_linux.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ Options:
140140
seconds. [default: 120 seconds]
141141
-n, --processes INT Set the number of parallel processes to use. Disable
142142
parallel processing if 0. Also disable threading if
143-
-1. [default: 1]
143+
-1. [default: (number of CPUs)-1]
144144
-q, --quiet Do not print summary or progress.
145145
-v, --verbose Print progress as file-by-file path instead of a
146146
progress bar. Print verbose scan counters.

0 commit comments

Comments
 (0)