use all available threads for analysis

This commit is contained in:
Robert Brignull 2020-08-13 14:25:10 +01:00
parent 2527130a32
commit aaeb9751bb
4 changed files with 22 additions and 8 deletions

View file

@ -19,7 +19,6 @@ inputs:
threads: threads:
description: The number of threads to be used by CodeQL. description: The number of threads to be used by CodeQL.
required: false required: false
default: "1"
checkout_path: checkout_path:
description: "The path at which the analyzed repository was checked out. Used to relativeize any absolute paths in the uploaded SARIF file." description: "The path at which the analyzed repository was checked out. Used to relativeize any absolute paths in the uploaded SARIF file."
required: false required: false

14
lib/util.js generated
View file

@ -319,13 +319,15 @@ function getMemoryFlag() {
} }
exports.getMemoryFlag = getMemoryFlag; exports.getMemoryFlag = getMemoryFlag;
/** /**
* Get the codeql `--threads` value specified for the `threads` input. The value * Get the codeql `--threads` value specified for the `threads` input.
* defaults to 1. The value will be capped to the number of available CPUs. * If not value was specified, all available threads will be used.
*
* The value will be capped to the number of available CPUs.
* *
* @returns string * @returns string
*/ */
function getThreadsFlag() { function getThreadsFlag() {
let numThreads = 1; let numThreads;
const numThreadsString = core.getInput("threads"); const numThreadsString = core.getInput("threads");
if (numThreadsString) { if (numThreadsString) {
numThreads = Number(numThreadsString); numThreads = Number(numThreadsString);
@ -334,13 +336,19 @@ function getThreadsFlag() {
} }
const maxThreads = os.cpus().length; const maxThreads = os.cpus().length;
if (numThreads > maxThreads) { if (numThreads > maxThreads) {
core.info(`Clamping desired number of threads (${numThreads}) to max available (${maxThreads}).`);
numThreads = maxThreads; numThreads = maxThreads;
} }
const minThreads = -maxThreads; const minThreads = -maxThreads;
if (numThreads < minThreads) { if (numThreads < minThreads) {
core.info(`Clamping desired number of free threads (${numThreads}) to max available (${minThreads}).`);
numThreads = minThreads; numThreads = minThreads;
} }
} }
else {
// Default to using all threads
numThreads = os.cpus().length;
}
return `--threads=${numThreads}`; return `--threads=${numThreads}`;
} }
exports.getThreadsFlag = getThreadsFlag; exports.getThreadsFlag = getThreadsFlag;

File diff suppressed because one or more lines are too long

View file

@ -375,13 +375,15 @@ export function getMemoryFlag(): string {
} }
/** /**
* Get the codeql `--threads` value specified for the `threads` input. The value * Get the codeql `--threads` value specified for the `threads` input.
* defaults to 1. The value will be capped to the number of available CPUs. * If not value was specified, all available threads will be used.
*
* The value will be capped to the number of available CPUs.
* *
* @returns string * @returns string
*/ */
export function getThreadsFlag(): string { export function getThreadsFlag(): string {
let numThreads = 1; let numThreads: number;
const numThreadsString = core.getInput("threads"); const numThreadsString = core.getInput("threads");
if (numThreadsString) { if (numThreadsString) {
numThreads = Number(numThreadsString); numThreads = Number(numThreadsString);
@ -390,12 +392,17 @@ export function getThreadsFlag(): string {
} }
const maxThreads = os.cpus().length; const maxThreads = os.cpus().length;
if (numThreads > maxThreads) { if (numThreads > maxThreads) {
core.info(`Clamping desired number of threads (${numThreads}) to max available (${maxThreads}).`);
numThreads = maxThreads; numThreads = maxThreads;
} }
const minThreads = -maxThreads; const minThreads = -maxThreads;
if (numThreads < minThreads) { if (numThreads < minThreads) {
core.info(`Clamping desired number of free threads (${numThreads}) to max available (${minThreads}).`);
numThreads = minThreads; numThreads = minThreads;
} }
} else {
// Default to using all threads
numThreads = os.cpus().length;
} }
return `--threads=${numThreads}`; return `--threads=${numThreads}`;
} }