2014-11-30 15 views
5

Q: Profile Haskell without installing installing profiling libraries for all dependencies
A: Non è possibile. Basta installarli, qual è il problema?Perché Haskell richiede che tutte le librerie siano abilitate alla profilazione per la profilazione?

Perché?

Se desidero solo profilare il mio codice, considerando le chiamate di libreria come no-op per la profilazione, perché non può consentire il profiling parziale? Abilitare il profiling può essere complicato se ci sono molte dipendenze già installate. Mentre meno preciso, dovrebbe essere più facile.

+1

Credo che si intende per chiedere di GHC, piuttosto che su Haskell. Potresti voler modificare il tuo titolo (e aggiungere il tag 'ghc'). – MasterMastic

+0

questo è davvero un dolore nel sedere che sembra essere esistito per anni ma non ancora riparato – rem

risposta

1

La mia comprensione è che quando si chiede a GHC di compilare il codice per il profiling, l'interfaccia binaria al codice cambia. (E inoltre viene collegato a una versione diversa dell'RTS.) Poiché lo nel codice nello stesso programma deve avere la stessa interfaccia binaria ... beh, ecco perché.

Per evitare questo, GHC dovrebbe supportare sia la miscelazione di interfacce binarie diverse nello stesso programma, sia trovare un modo per compilare codice profilato con la stessa interfaccia del codice non profilato. Immagino che nessuna di queste cose sia particolarmente banale da fare.

Sono d'accordo che è molto fastidioso, anche se ...

Problemi correlati