I've searched the ghc user manual to the best of my ability, but I haven't been able to find a way to have ghc print the timings of each module as it is compiled.
Is there a way to see the compile times of each module?
201 Views Asked by David Fox At
1
There are 1 best solutions below
Related Questions in HASKELL
- Typeclass projections as inheritance
- How to generate all possible matrices given a number n in Haskell
- Is there a way to get `cabal` to detect changes to non-Haskell source files?
- How to have fixed options using Option.Applicative in haskell?
- How can I create a thread in Haskell that will restart if it gets killed due to any reason?
- Automatic Jacobian matrix in Haskell
- Haskell writing to named pipe unexpectedly fails with `openFile: does not exist (No such device or address)`
- Why does Enum require to implement toEnum and fromEnum, if that's not enough for types larger than Int?
- Non-exhaustive patterns in function compress
- How to get terms names of GADT in Template Haskell?
- Implementing eval() function with Happy parser generator
- How to count the occurences of every element in a list in Haskell fast?
- In Haskell, what does `Con Int` mean?
- Extract a Maybe from a heterogeneous collection
- Haskell, Stack, importing module shows error "Module not found"
Related Questions in GHC
- How to use GHC’s `ReadPrec`?
- Homebrew error when installing GHC: linker does not have option `-no_fixup_chains`
- Why does Cabal, unlike GHC, not automatically enable GeneralizedNewtypeDeriving if I explicitly enabled DerivingStrategies?
- Understanding and Optimizing Generational Garbage Collection in Haskell
- Run cleanup function in multiple Haskell child threads when POSIX Signal sent (SIGTERM etc)
- libffi.so link issue for Haskell compiled executable on Linux platforms
- Admissble type role overrides
- How to change the order of type application parameters for a constructor
- Why does Data.Dynamic contain a witness instead of a typeclass constraint?
- cabal link error undefined symbol on windows
- Haskell speed issue where executing both parts of a program takes significantly longer than either part alone
- Haskell's polymorphic functions in different GHC version
- Haskell - Cabal linker command failed when installing Text.Regex.Posix
- Working around conflict between `c-source` name and GHC RTS name
- GHC API equivalent of adding a C/C++ file/object to the compilation
Related Questions in GHCJS
- How to simulate a "click" event in Haskell
- manage events in Haskell
- How to install ghcjs 8.8 or 8.10?
- problem with the installation of ghcjs-dom: out of memory installing jsaddle-dom
- Haskell GHCJS with Diagrams gives error: no C compiler provided for this platform
- How to set up GHCJS project which I can work on in IDEA?
- Is there a way to see the compile times of each module?
- How to get the global keydown event in Reflex?
- How to convert Javascript object to JSVal
- Can't get `dispatchEvent` to fire in GHCJS
- Using Web Component HTML tags with reflex
- How do immutable languages like ClojureScript, Elm, PureScript, GHCJS compile to mutable javascript?
- How can I use ghci with my reflex project using only stack.yaml?
- How to make MonadError work with ghcjs/reflex
- jsaddle-dom import error suggests adding dependency I've already added
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I assume you've found
-ddump-timingswhich dumps runtime in milliseconds by stage and module? I'm pretty sure your best bet will be to parse its output and sum the times by module.Looking through the GHC source, the only one piece of code that calls
getCPUTimeis in filecompiler/GHC/Utils/Error.hs, functionwithTiming', and this is the output that's enabled by-ddump-timings. While there could technically be some call towithTiming'that accounts for the total compilation time of a module, it strikes me as unlikely that it would be disabled by default, and a search for all occurrences ofwithTimingin the compiler code base doesn't turn up anything. So, the-ddump-timingsoutput is probably the best you can do.