diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-09-15 08:40:00 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-09-15 08:40:00 +0000 |
commit | 53628e913632cac29d54da914040e39add334784 (patch) | |
tree | cff3c068f60d5580fe4e452e044b5b2c6af352b9 /includes/rts/Flags.h | |
parent | eca1e7e7becd3d444be45850031e3fa35bccd55d (diff) | |
download | haskell-53628e913632cac29d54da914040e39add334784.tar.gz |
Improve the default parallel GC settings, and sanitise the flags (#3340)
Flags (from +RTS -?):
-qg[<n>] Use parallel GC only for generations >= <n>
(default: 0, -qg alone turns off parallel GC)
-qb[<n>] Use load-balancing in the parallel GC only for generations >= <n>
(default: 1, -qb alone turns off load-balancing)
these are good defaults for most parallel programs. Single-threaded
programs that want to make use of parallel GC will probably want +RTS
-qg1 (this is documented).
I've also updated the docs.
Diffstat (limited to 'includes/rts/Flags.h')
-rw-r--r-- | includes/rts/Flags.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/includes/rts/Flags.h b/includes/rts/Flags.h index 3d0230a376..733318a002 100644 --- a/includes/rts/Flags.h +++ b/includes/rts/Flags.h @@ -144,9 +144,14 @@ struct PAR_FLAGS { rtsBool wakeupMigrate; /* migrate a thread on wakeup */ unsigned int maxLocalSparks; rtsBool parGcEnabled; /* enable parallel GC */ - rtsBool parGcGen; /* do parallel GC in this generation + unsigned int parGcGen; /* do parallel GC in this generation * and higher only */ - rtsBool parGcLoadBalancing; /* do load-balancing in parallel GC */ + rtsBool parGcLoadBalancingEnabled; + /* enable load-balancing in the + * parallel GC */ + unsigned int parGcLoadBalancingGen; + /* do load-balancing in this + * generation and higher only */ rtsBool setAffinity; /* force thread affinity with CPUs */ }; #endif /* THREADED_RTS */ |