F#FSharpMap与字典性能
问题内容:
我想知道F#不可变Map如何针对标准Dictionary执行。
我正在编写一个计数函数(针对每个行查找增量集),以用于具有数百万行和数千个元素的大型文件。
内存使用情况如何?
谢谢
问题答案:
我想知道F#不可变Map如何针对标准Dictionary执行。
请参见Visual F#2010 for Technical
Computing
第241-242页“优化:使用可变数据结构”。在非常类似的根据唯一键数量计算int频率的设置中,其显示Dictionary
速度比a快5-40倍Map
。
通常,纯功能数据结构Map
不仅在串行情况下非常慢,而且会破坏整个并行程序的可伸缩性。我最近对此做了一次演讲。
顺便说一句,别忘了有一个Seq.countBy
功能!