diff options
author | Simon Marlow <marlowsd@gmail.com> | 2008-11-18 14:24:42 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2008-11-18 14:24:42 +0000 |
commit | d600bf7a6afdbfc4a22f9379406a9c6f789a4c2d (patch) | |
tree | fc86da89b8891374298c441d14d2333b33e29d53 /includes/RtsConfig.h | |
parent | 0fa59deb44b8a1a0b44ee2b4cc4ae0db31dec038 (diff) | |
download | haskell-d600bf7a6afdbfc4a22f9379406a9c6f789a4c2d.tar.gz |
Add optional eager black-holing, with new flag -feager-blackholing
Eager blackholing can improve parallel performance by reducing the
chances that two threads perform the same computation. However, it
has a cost: one extra memory write per thunk entry.
To get the best results, any code which may be executed in parallel
should be compiled with eager blackholing turned on. But since
there's a cost for sequential code, we make it optional and turn it on
for the parallel package only. It might be a good idea to compile
applications (or modules) with parallel code in with
-feager-blackholing.
ToDo: document -feager-blackholing.
Diffstat (limited to 'includes/RtsConfig.h')
-rw-r--r-- | includes/RtsConfig.h | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/includes/RtsConfig.h b/includes/RtsConfig.h index caf76b32f8..2f683cb00f 100644 --- a/includes/RtsConfig.h +++ b/includes/RtsConfig.h @@ -28,24 +28,6 @@ #define USING_LIBBFD 1 #endif -/* Turn lazy blackholing and eager blackholing on/off. - * - * Using eager blackholing makes things easier to debug because - * the blackholes are more predictable - but it's slower and less sexy. - * - * For now, do lazy and not eager. - */ - -/* TICKY_TICKY needs EAGER_BLACKHOLING to verify no double-entries of - * single-entry thunks. - */ -/* #if defined(TICKY_TICKY) || defined(THREADED_RTS) */ -#if defined(TICKY_TICKY) -# define EAGER_BLACKHOLING -#else -# define LAZY_BLACKHOLING -#endif - /* ----------------------------------------------------------------------------- Labels - entry labels & info labels point to the same place in TABLES_NEXT_TO_CODE, so we only generate the _info label. Jumps |