2011-10-25 64 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

什麼武的意思是,這將會是最準確的,您可以運行在** **的採樣/典型的數據的解析器。 –