加快控制台应用程序的速度

本文关键字:速度 应用程序 控制台 | 更新日期: 2023-09-27 17:57:10

我开发了一个控制台应用程序,它将IP地址作为输入,并在日志文件中提供设备的正常运行时间。总共有27000个IP地址。给出输出需要将近 2 天的时间。

请帮助我如何使用多通道加快我的应用程序速度。

加快控制台应用程序的速度

public static class Program
{
    internal static string Result(string ip)
    {
       // your function here
    }
    internal static void Main()
    {
        const int ParallelJobs = 100;
        var ips = File.ReadAllLines("your.data");
        var results = ips.AsParallel().WithDegreeOfParallelism(ParallelJobs ).Select(Result).ToList();
        File.WriteAllLines("your.results", results);
    }
}

基本上,就是这样。现在它并行运行。您的作业似乎受 I/O 限制,有大量空闲等待时间,因此我会将并行度设置得相当高。"等待"可以大批量完成:)