scripts/check: run checkpatch.pl processes with max 16 args each

Reduce the overhead of fork/execve/perl startup time by not
doing those for every files that are checked.

This also makes the check execution complete faster.

On similar systems and similar background load, the execution time
varies based on how find(1) outputs the (*.[ch]) files it sees on
filesystem -- the filenames are not sorted but are written from
directories src/ include/ clients/ t/ in that order -- more than
80% of the time goes checking files in src/, and how the 16-file
batches from that dir (108 files in src/, 208 total, as of 2026-01)
are distributed the checkpatch.pl processes affect mostly to the
total run time.
This commit is contained in:
Tomi Ollila 2026-01-04 23:16:10 +02:00 committed by Consolatis
parent 02327e19b0
commit f09a0c2be3

View file

@ -20,7 +20,7 @@ run_checks () {
fi
find src/ include/ clients/ t/ \( -name "*.c" -o -name "*.h" \) -type f -print0 |
nice xargs -0 --max-args 1 --max-procs $(nproc) \
nice xargs -0 --max-args 16 --max-procs $(nproc) \
scripts/checkpatch.pl --terse --no-tree --strict --file
return $?
}