C#解析器性能

OMG*_*sen -1 c# performance json

我编写了一个JSON解析器,它接受任何有效的json字符串并生成哈希表和对象列表.

解析具有100万个对象(每个有4个字段)的100 mb json文件时,它会在大约20,000个对象/秒内完成,整个文件在46秒内完成.

这看起来好,坏,平均吗?

        Stopwatch watch = new Stopwatch();
        Console.WriteLine("Starting parser...");
        watch.Start();
        object o = JsonParser.Parse(json);
        watch.Stop();
        Console.WriteLine("Stopped parsing...");
        Console.WriteLine("Ms: " + watch.ElapsedMilliseconds);
Run Code Online (Sandbox Code Playgroud)

编辑:测试是在具有双核心2.6ghz cpu和4 gig ram的桌面上完成的

Moo*_*ice 10

没有背景,这不好也不坏也不平均.就它本身而言,可以将46秒解释为闪电般快速,或者说是慢速.你需要它多久才能将它与在那里的其他JSON解析器和时间比较它们解析相同的数据.

一旦你决定要比竞争更慢或更快并且你有一些背景,那么你需要决定它是否太慢以至于它的用途.

只有这样才能决定性能是好,差还是平均:)

  • Moo所说的是,在****样本/典型数据上运行这些解析器是最准确的. (4认同)