You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The user guide gives various options for runtime parameters particularly for tuning the garbage collector. We should experiment with changing the allocation area of the program to see if this makes a difference to our runtimes. This is done as follows: ./pcg +RTS -A1G -RTS
The above command sets the allocation area to be 1GB. By default it is 1MB. We should see what settings seem to work best for a longer running example. The example here received a 3-6 times speed up from this change and so it is well worth looking into.
Similarly there are settings for the number of generations in the garbage collector. This can be changed as follows: ./pcg +RTS -G4 -RTS
By default this is set at 2 and it is recommended in the user guide to not exceed 4. When we upgrade to GHC 8.10 we can also experiment with the new concurrent garbage collector which can be ran by compiling with threaded and using the run time options: ./pcg +RTS -xn -RTS
The text was updated successfully, but these errors were encountered:
I should note that the parallel garbage collector led to a regression on the workloads I tried but perhaps something more memory intensive will fit better.
If someone wants to spend a few more days toying with GC options after ghc-9.0 is released, that would be a valuable time investment. We can take the apparently best GC options and set them as the defaults when compiling our pcg executable using the -with-rtsopts compilation flag.
The user guide gives various options for runtime parameters particularly for tuning the garbage collector. We should experiment with changing the allocation area of the program to see if this makes a difference to our runtimes. This is done as follows:
./pcg +RTS -A1G -RTS
The above command sets the allocation area to be 1GB. By default it is 1MB. We should see what settings seem to work best for a longer running example. The example here received a 3-6 times speed up from this change and so it is well worth looking into.
Similarly there are settings for the number of generations in the garbage collector. This can be changed as follows:
./pcg +RTS -G4 -RTS
By default this is set at 2 and it is recommended in the user guide to not exceed 4. When we upgrade to GHC 8.10 we can also experiment with the new concurrent garbage collector which can be ran by compiling with
threaded
and using the run time options:./pcg +RTS -xn -RTS
The text was updated successfully, but these errors were encountered: