2011-10-25 75 views
-1

我写了一个JSON解析器,采取任何有效的JSON字符串,并生成哈希表和对象名单。C#语法分析器性能

当解析用1个百万个对象(每个具有4个字段)它约20,000对象/秒和46秒整个文件100 MB JSON文件。

这个问题似乎好,是坏,平均?

 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); 

编辑:试验是按照双核2.6GHz的CPU和4个演出的RAM

回答

10

桌面这是不好的,不坏平均也没有上下文上完成。在它自己的情况下,人们可以把这46秒解释为闪电般快,或者说狗慢。你需要将它与在那里的其他JSON解析器和时间需要多久他们解析相同的数据进行比较。

一旦你决定,你要么慢或比竞争对手更快,你有一些背景,那么你需要决定它是否在它的预期用途太慢。

只有这样,你才能决定性能是否好,坏或平均:)

+0

我没有解析器的经验,如果任何人有任何有关解析任何类型的〜100MB文件的性能数字,我会感兴趣。 – OMGKurtNilsen

+4

什么武的意思是,这将会是最准确的,您可以运行在** **的采样/典型的数据的解析器。 –