X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fsooner.xml;h=6823ce51104734e19ef0aea0e21d14e2151b5aeb;hb=f61baf76c9fa20aa972938384887bcb52151e76f;hp=19c1c11bdca877bec9aa5ab1948898ea03786685;hpb=8971f720a67113308e346598814221228b12a4fc;p=ghc-hetmet.git diff --git a/docs/users_guide/sooner.xml b/docs/users_guide/sooner.xml index 19c1c11..6823ce5 100644 --- a/docs/users_guide/sooner.xml +++ b/docs/users_guide/sooner.xml @@ -32,25 +32,18 @@ should go here! garbage collection for GHC, which means less compilation time. If you use the option, you'll get a garbage-collector report. (Again, you can use - the cheap-and-nasty + the cheap-and-nasty option to send the GC stats straight to standard error.) If it says you're using more than 20% of total - time in garbage collecting, then more memory would - help. - - If the heap size is approaching the maximum (64M by - default), and you have lots of memory, try increasing the - maximum with the - -M<size> - option option, e.g.: ghc -c - -O -M1024m Foo.hs. - - Increasing the default allocation area size used by + time in garbage collecting, then more memory might + help: use the + + option. Increasing the default allocation area size used by the compiler's RTS might also help: use the - -A<size> - option option. + -A<size> + RTS option option. If GHC persists in being a bad memory citizen, please report it as a bug. @@ -101,48 +94,13 @@ should go here! GHC compiles some program constructs slowly: - Deeply-nested list comprehensions seem to be one such; - in the past, very large constant tables were bad, - too. - We'd rather you reported such behaviour as a bug, so that we can try to correct it. - The part of the compiler that is occasionally prone to - wandering off for a long time is the strictness analyser. - You can turn this off individually with - . - -fno-strictness - anti-option - To figure out which part of the compiler is badly behaved, the option is your friend. - - If your module has big wads of constant data, GHC may - produce a huge basic block that will cause the native-code - generator's register allocator to founder. Bring on - -fvia-C - option (not that GCC will be that - quick about it, either). - - - - - Explicit import declarations: - - Instead of saying import Foo, say - import Foo (...stuff I want...) You can - get GHC to tell you the minimal set of required imports by - using the option - (see ). - - Truthfully, the reduction on compilation time will be - very small. However, judicious use of - import declarations can make a program - easier to understand, so it may be a good idea - anyway. @@ -553,13 +511,13 @@ Use strip on your executables. “I think I have a space leak…” Re-run your program -with , and remove all doubt! (You'll +with , and remove all doubt! (You'll see the heap usage get bigger and bigger…) [Hmmm…this might be even easier with the RTS option; so… ./a.out +RTS --Sstderr -G1...] +-S -G1...] -G RTS option --Sstderr RTS option +-S RTS option @@ -581,7 +539,6 @@ be required).