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
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:
--- 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.
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:
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):
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.