Czy istnieje sposób na kompilację pakietów równolegle przy użyciu flagi cabal install
podobnej do flagi GNU make -jN
?Równoległe konstrukcje kabinowe
Odpowiedz
Tak, od wersji 1.16, Cabal nie obsługuje tego przy użyciu opcji -j
zainstalować, tak jak poniżej:
cabal install -j mypackage
Nie. To był otwarty problem przez pewien czas. Dołożono starań, aby ghc --make
zbudować potrzebne moduły równolegle, ale ewidentnie napotkały problemy. Odtąd robienie tego na poziomie cabal było całą dyskusją, którą słyszałem, ale jeszcze nie stało się rzeczywistością.
Zobacz te duplicate question dla niektórych linków i co nadal jest najnowocześniejsze.
Gees chłopaki, łatwe w dół głosów. Było to poprawne, gdy zostało napisane, ale nowsza odpowiedź (napisana rok później) zawiera zaktualizowane informacje, których szukasz. –
n.b. Ta wersja cabal NIE jest zawarta w aktualnej wersji platformy Haskell (2012.4.0.0), ale jest [ma zostać zawarta w kolejnej wersji platformy Haskell (2013.2.0.0)] (http://stackoverflow.com/ a/7872263/86622) (patrz komentarze). – dave4420
Można jednak po prostu "zainstalować kabałę cabal-install" nawet na obecnej platformie Haskell, aby uzyskać tę funkcjonalność. To nawet nie psuje rzeczy (dla mnie). – nh2
Możesz dodać do swojej odpowiedzi to nie przyspiesza instalacji pojedynczego pakietu - po prostu instaluje * wiele pakietów * w tym samym czasie. Dlatego 'cabal install -j mypackage' nie przyniesie żadnych korzyści, tylko' cabal install -j pakiet1 pakiet2' będzie. – nh2