usar simbolos peta opciones librerias instalar importar hacer español ejemplos compilador como haskell optimization ghc compiler-optimization

haskell - simbolos - ¿Cómo puedo obtener las optimizaciones más inteligentes que hace GHC?



instalar haskell en ubuntu (1)

Porque puedo verlo venir: esta es una pregunta diferente a qué optimizaciones se puede esperar que GHC realice de forma confiable. porque no estoy pidiendo las optimizaciones más confiables, solo las más inteligentes / poderosas.

Estoy buscando específicamente optimizaciones no intuitivas que hace GHC que pueden tener un impacto serio en el rendimiento y demostrar el poder de las optimizaciones del compilador relacionadas con la evaluación o la pureza. Y explicaciones directas sobre cómo llegar a ellos.

Las mejores respuestas tendrán:

  • Una explicación de la optimización y por qué es tan inteligente o poderosa
  • Por qué la optimización mejora el rendimiento
  • Cómo GHC reconoce cuándo puede usar esta optimización
  • Lo que la optimización realmente transforma el código en
  • Por qué esta optimización requiere evaluación o pureza diferida

Stream fusión es probablemente la más grande. Resulta algo así como sum . map (+1) . filter (>5) sum . map (+1) . filter (>5) sum . map (+1) . filter (>5) , que nominalmente asigna dos nuevas listas, en un bucle simple que opera en un espacio constante.