1
我需要準確計算不同大小的字典大小。我試着在運行我的應用程序時做一些內存監視,但是我同時做了很多其他的事情,影響了結果。預測字典<>大小和速度
如何計算(aprox)帶有n項的字典的預期大小?我需要知道在不同的場景下需要多少內存。
查找時間增加了多少倍? O(1)總是?
我打算使用10M +詞條的詞典,可能更多。
我需要準確計算不同大小的字典大小。我試着在運行我的應用程序時做一些內存監視,但是我同時做了很多其他的事情,影響了結果。預測字典<>大小和速度
如何計算(aprox)帶有n項的字典的預期大小?我需要知道在不同的場景下需要多少內存。
查找時間增加了多少倍? O(1)總是?
我打算使用10M +詞條的詞典,可能更多。
已經consideret回答的問題,我自己的問題,我創建了一個小的測試程序。
下面是結果:
100 000隨機查找在由10個000 000隨機條目表需要0,02秒,表使用的RAM 200MB。
一旦您獲得超過100個項目,字典使用的內存似乎是Int32索引的20-22倍左右。隨着字典變大,該比率下降。
預分配內存似乎減少了插入時間。測試
細節和結果在http://blog.tedd.no/2011/09/26/net-dictionary-speed-and-memory/