diff options
| author | Miguel <m.i@gmx.at> | 2019-03-02 12:50:34 +0100 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2019-03-02 12:50:34 +0100 |
| commit | 76718c0ec3717c4f9e5b0f659ab829f4b92419d2 (patch) | |
| tree | f0d5e17dc85c9dadd5e2e2e0dc73c24a5e2f4e92 /hask-io/Makefile | |
| parent | a97b3edf385a1fd69899ea8fe23889fa0d206079 (diff) | |
playing with some haskell code
Diffstat (limited to 'hask-io/Makefile')
| -rw-r--r-- | hask-io/Makefile | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/hask-io/Makefile b/hask-io/Makefile new file mode 100644 index 0000000..e6e1da6 --- /dev/null +++ b/hask-io/Makefile @@ -0,0 +1,46 @@ +# +# Some GHC flags explained +# +# -v verbose mode +# -O2 level 2 optimizations +# -rtsopts allow +RTS flags +# -prof enable basic time and allocation profiling +# -auto-all cost centers on all top level functions +# (you can also add them via the SCC pragma) +# -caf-all generate data for CAFs (constant applicative forms) +# t +# -fforce-recomp force recompilation +# +# Notes: you will obtain the profiling versions of dependancies via: +# stack install --profile [libraryname] +# +# -fprof-auto replaced -auto-all +# -fprof-cafs replaced -caf-all +# + +build-prof: + stack ghc --profile -- -rtsopts -prof -fprof-auto -fprof-cafs -O2 base64.hs + +# +# Some +RTS flags +# +# -p profiling +# -K set stack limit +# -hc extract heap profile +# -hy allocation by type +# -hd allocation by constructor +# -iN sampling frequency in seconds. e.g. -i0.01 +# -ddump-simpl generate core version +# +# Note: render the heap profile as graph with: hp2ps -e8in -c file.hp +# + +run-prof: + cat random.bin | ./base64 +RTS -p -K100M > /dev/null + + +test-mini-hask: + #stack ghc -- -rtsopts -prof -fprof-auto -fprof-cafs -O mini.hs -o mini_hask_exe + stack ghc -- -O mini.hs -o mini_hask_exe +test-mini-c: + gcc -O3 mini.c -o mini_c_exe |
