public void Run(CancellationToken cancellationToken) { var sw = Stopwatch.StartNew(); var options = new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }; if (!_initialized) { Parallel.For(0, _files.Length, options, i => { _microTasks[i] = new MicroTask(_files[i], _regexProcessor, _replacement); _statisticsVector[i] = _microTasks[i].GetStatistics(); }); _initialized = true; } Debug.WriteLine("Time initialization: {0}", sw.Elapsed); Parallel.ForEach(_microTasks, options, task => task.Run(cancellationToken)); Debug.WriteLine("Time All: {0}", sw.Elapsed); }
public void Run(CancellationToken cancellationToken) { var sw = Stopwatch.StartNew(); var options = new ParallelOptions {MaxDegreeOfParallelism = Environment.ProcessorCount}; if (!_initialized) { Parallel.For(0, _files.Length, options, i => { _microTasks[i] = new MicroTask(_files[i], _regexProcessor, _replacement); _statisticsVector[i] = _microTasks[i].GetStatistics(); }); _initialized = true; } Debug.WriteLine("Time initialization: {0}", sw.Elapsed); Parallel.ForEach(_microTasks, options, task => task.Run(cancellationToken)); Debug.WriteLine("Time All: {0}", sw.Elapsed); }