[GHC] #13362: GHC first generation of GC to be as large as largest cache size by default

GHC ghc-devs at haskell.org
Sun Mar 4 11:28:15 UTC 2018


#13362: GHC first generation of GC to be as large as largest cache size by default
-------------------------------------+-------------------------------------
        Reporter:  varosi            |                Owner:  sjakobi
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Runtime System    |              Version:  8.0.2
      Resolution:                    |             Keywords:  numa cache gc
                                     |  newcomers
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by sjakobi):

 I have [https://github.com/sjakobi/ghc/tree/T13362 a branch] that works
 for me on Windows 10 and Linux using an i7-4790K CPU.

 It would be great if y'all could test this on:
 * macOS / OS X
 * FreeBSD
 * ARM and other non-x86 architectures
 * Intel Haswell and Broadwell CPUs with L4 cache

 To ensure that the code works as intended, run a "Hello world"-program
 with `+RTS -s` and check that the report shows `(N+1) MB total memory in
 use` where `N` MB is the size of your largest cache.

 PRs to support other operating systems are also very welcome! :)

 Open design questions as of now:
 1. If we only find an L1 cache, should we really go with an allocation
 area of typically just 32 or 64 kB?

   IMHO it might be better to ignore any L1 caches and to simply default to
 the old 1 MB in these cases.


 2. What if we find an L4 cache with 64 or 128 **MB**? This would easier to
 decide if we got some benchmark results, for example in the style of
 [comment:7 varosi's].

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13362#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list