UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

32 lines (31 loc) 1.08 kB
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 {};