2010-08-03 84 views
15

我想知道F#不可變映射如何對照標準Dictionary執行。F#FSharpMap vs Dictionary性能

我正在寫一個計數函數(用於每行查找增量集),用於具有數百萬行和數千個元素的大文件。

內存使用情況如何?

感謝

回答

17

我想知道如何F#的不可變的映射與標準字典執行。

請參閱Visual F# 2010 for Technical Computing第241-242頁「優化:使用可變數據結構」。顯示Dictionary運行速度比Map運行速度快5-40倍,這與設置唯一鍵數量的函數計算整數中的頻率非常相似。

通常,像Map這樣的純功能數據結構不僅在串行情況下非常緩慢,而且會破壞整個並行程序的可擴展性。我最近給了a lecture

順便說一句,不要忘記有一個Seq.countBy功能!