2011-09-26 36 views
1

我需要準確計算不同大小的字典大小。我試着在運行我的應用程序時做一些內存監視,但是我同時做了很多其他的事情,影響了結果。預測字典<>大小和速度

如何計算(aprox)帶有n項的字典的預期大小?我需要知道在不同的場景下需要多少內存。
查找時間增加了多少倍? O(1)總是?

我打算使用10M +詞條的詞典,可能更多。

Size of a dictionary

回答

2

已經consideret回答的問題,我自己的問題,我創建了一個小的測試程序。

下面是結果:

  • 100 000隨機查找在由10個000 000隨機條目表需要0,02秒,表使用的RAM 200MB。

  • 一旦您獲得超過100個項目,字典使用的內存似乎是Int32索引的20-22倍左右。隨着字典變大,該比率下降。

  • 預分配內存似乎減少了插入時間。測試

Results from Dictionary memory and speed test

細節和結果在http://blog.tedd.no/2011/09/26/net-dictionary-speed-and-memory/

相關問題