para mac descargar haskell build parallel-processing cabal multicore

haskell - mac - ¿Puedo hacer que `cabal install` use múltiples núcleos?



install cabal ubuntu (3)

Completando la respuesta de Mikhail Glushenkov para documentar el uso un poco:

A partir de cabal 1.16.0, ahora puede usar

cabal install -j [pkgs…]

Esto se predetermina a un trabajo por núcleo. También da un resultado mucho más limpio.

Puede hacer que las instalaciones paralelas sean las predeterminadas con:

echo "jobs: $(getconf _NPROCESSORS_ONLN)" >> ~/.cabal/config

O bien (cabal-install 1.18+):

echo ''jobs: $ncpus'' >> ~/.cabal/config

Obtenga la última instalación de cabal con:

cabal update cabal install cabal-install --bindir ~/bin --upgrade-dependencies

¿Alguien sabe cómo lograr la cabal install para explotar el paralelismo? Estoy compilando con GHC, y aunque no sé si GHC en sí mismo puede hacer compilaciones paralelas, seguramente la cabal install podría ejecutar múltiples compilaciones en paralelo, ¿no? Al menos para paquetes distintos e independientes?

¿Alguien sabe si es posible y cómo hacerlo?


Hubo un proyecto Google Summer of Code este verano para paralelizar cabal-install . Aunque todavía no se ha fusionado con la línea principal, el artículo vinculado proporciona instrucciones para tomar la fuente y compilarla usted mismo.


Soy el que estaba trabajando en este proyecto Summer of Code. Los parches se han enviado a Duncan, pero aún no los ha revisado. Tenga en cuenta que mi código funciona en la granularidad del paquete, por lo que no obtendrá ninguna aceleración al compilar un solo paquete. Actualmente estoy trabajando en un contenedor paralelo en torno a ghc --make , que resolverá este problema (espero fusionarlo finalmente en la cabal-install mainline).

Actualización (febrero de 2012) : Duncan ha revisado mis parches, necesito incorporar sus comentarios y volver a enviarlos. Espero terminar esto antes de fin de mes.

Actualización (abril de 2012) : he actualizado mis parches en respuesta a los comentarios de Duncan. El nuevo código es un poco más lento, pero requiere muchos menos cambios en la biblioteca de Cabal.

Actualización (junio de 2012) : Duncan Coutts acaba de fusionar la rama paralela en Cabal HEAD . La instalación paralela estará disponible en la próxima versión de cabal-install .

Actualización (octubre de 2012) : acaba de lanzarse cabal-install 1.16.0. Este es el primer lanzamiento oficial que incluye mis parches paralelos.