Huge pages and druntime parameters

luminousone rd.hunt at gmail.com
Thu Sep 26 19:01:33 PDT 2013


On Friday, 27 September 2013 at 00:31:23 UTC, Martin Nowak wrote:
> Running dmd with huge page backed malloc resulted in about 10% 
> faster compilations.
> This looks very promising though other tests with some D GC 
> microbenchmarks did not benefit from huge pages.
> You can read more about this here.
> http://www.ibm.com/developerworks/systems/library/es-lop-leveragepages/
>
> I'm interested in adding a runtime parameter that would advise 
> the GC to preferably use huge pages as backing memory.
> There are a number of other interesting runtime parameters, 
> like max heap size, GC grow policies, turning on statistics, so 
> I wonders how to make them available.
> Java seems to use -XX:+UseLargePages and -Xmx for the maximum 
> heap size.
> GHC uses a nice scheme where runtime parameters passed via 
> command line are embraced by +RTS arg1 arg2 -RTS. They also 
> require to link-in support for this.
> http://www.haskell.org/ghc/docs/7.0.1/html/users_guide/runtime-control.html
> Any good ideas for druntime?

I have played around with huge pages a bit, my understanding from 
reading about them, and use(ROAM diamond tree nodes in huge page 
memory), is that they need to be used carefully, many processors 
only have a small number of entries for huge pages in their 
lookup tables.

The best use of huge pages seems to be from code built around 
them, not sure if it entirely makes sense to put them in gc,


More information about the Digitalmars-d mailing list