Wie aktiviere ich die Profilerstellung in einer cabal-dev-Installation?

9

Ich versuche eine Programmwindungsnummer zu erstellen, die einige Abhängigkeiten hat. Per Aleksander Dmitrovs Antwort in Profile Haskell, ohne die Installation von Profiling-Bibliotheken zu installieren Für alle Abhängigkeiten verwende ich cabal-dev, um alle Abhängigkeiten mit aktiviertem Profiling aufzubauen. Ich habe es versucht

  • cabal-dev install --config=./cabal-dev.config , wobei cabal-dev.config

    ist %Vor%
  • cabal-dev install --cabal-install-arg='--enable-library-profiling' --cabal-install-arg='--enable-executable-profiling'

(mit rm -rf cabal-dev dazwischen, um von einer unberührten Umgebung zu starten.) In jedem Fall bekomme ich:

%Vor%

--- d.h. Profilerstellung ist nicht aktiviert. Wie kann ich es aktivieren?

ETA-Lösung: Fügen Sie -prof den ghc-Optionen in der .cabal-Datei für das Projekt hinzu. Anscheinend hat das Setzen von "executable-profiling: True" in der cabal-dev config nicht getan. Danke an Daniel Fischer.

    
Christopher White 01.01.2013, 17:55
quelle

1 Antwort

4

Es sieht so aus, als ob cabal-dev jedes Mal ./cabal-dev/cabal.config neu schreibt, wenn es ausgeführt wird. Sie können jedoch ~/.cabal/share/cabal-dev-$VERSION/admin/cabal-config.in bearbeiten, um die Standardwerte festzulegen:

%Vor%

Wenn Sie die Profilerstellung für alle mit cabal-dev verwalteten Projekte nicht aktivieren möchten, verwenden Sie die Option --extra-config-file ( --config legt nur den Speicherort der automatisch generierten Konfigurationsdatei fest):

%Vor%

Das Feld ghc-options in der .cabal-Datei zum Aktivieren der Profilerstellung wird nicht empfohlen - Sie möchten nicht, dass jeder, der Ihr Paket von Hackage installiert, mit Profilerstellung arbeitet. Verwenden Sie cabal-dev configure -p --ghc-options="-fprof-auto" , um die Profilerstellung nur für den aktuellen Build zu aktivieren.

    
Mikhail Glushenkov 01.01.2013 19:15
quelle

Tags und Links