@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
32 lines (31 loc) • 1.08 kB
TypeScript
export type Arguments = string[];
type WorkingQueue = Arguments[];
/**
* This is not really generic but written especially for the benchmarking script.
* It offers a work stealing thread pool executor.
*/
export declare class LimitedThreadPool {
private readonly workingQueue;
private readonly limit;
private readonly parallel;
private readonly module;
private counter;
private skipped;
private currentlyRunning;
private reportingInterval;
private readonly timeLimitInMs;
/**
* Create a new parallel helper that runs the given `module` once for each list of {@link Arguments} in the `queue`.
* The `limit` stops the execution if `<limit>` number of runs exited successfully.
* The `parallel` parameter limits the number of parallel executions.
*/
constructor(module: string, queue: WorkingQueue, limit: number, parallel: number, timeLimitInMs?: number);
run(): Promise<void>;
getStats(): {
counter: number;
skipped: Arguments[];
};
private runNext;
private onChildExit;
}
export {};