2010-08-03 11 views
15

Me preguntaba cómo funciona el Mapa inmutable F # frente al Diccionario estándar.F # FSharpMap vs rendimiento del diccionario

Estoy escribiendo una función de conteo (para cada conjunto de incremento de búsqueda de líneas) para usar en archivos grandes con millones de líneas y miles de elementos.

¿Qué ocurre con el uso de la memoria?

Gracias

Respuesta

17

me preguntaba ¿cómo el F # inmutable Mapa realizar en contra del diccionario estándar.

Ver Visual F# 2010 for Technical Computing páginas 241-242 "Optimización: utilizar estructuras de datos mutables". Muestra un Dictionary ejecutando 5-40 veces más rápido que un Map en la configuración muy similar de contar las frecuencias en ints en función del número de teclas únicas.

En general, las estructuras de datos puramente funcionales como Map no solo son extremadamente lentas en el caso de serie, sino que también destruyen la escalabilidad de programas paralelos completos. Le di a lecture recientemente.

Por cierto, no olvide que hay una función Seq.countBy!