Eli
Eli

Reputation: 4926

c# Process.Modules very slow

My code extract all names of loaded modules from each running process, my approach goes like this answer.

Here is my code:

Process[] procs = Process.GetProcesses();            
foreach (Process p in procs)
{                  
    foreach (ProcessModule item in p.Modules)
    {
        Console.WriteLine(item.FileName);
    }
}

Fore some reason, this approach have a very low performance :(

Is there another method or a different approach to get all those modules' names?

Any other solution that will run faster than that would be great

TIA

Upvotes: 5

Views: 1341

Answers (1)

Philip Pittle
Philip Pittle

Reputation: 12295

You could try adding some parallelization to speed things up:

 Parallel.ForEach(Process.GetProcesses(),
            process =>
            {
                foreach (ProcessModule m in process.Modules)
                {
                    Console.WriteLine(m.FileName);
                }
            });

Upvotes: 3

Related Questions