Skip to content
  • Andreas Klebinger's avatar
    NCG: New code layout algorithm. · 912fd2b6
    Andreas Klebinger authored
    Summary:
    This patch implements a new code layout algorithm.
    It has been tested for x86 and is disabled on other platforms.
    
    Performance varies slightly be CPU/Machine but in general seems to be better
    by around 2%.
    Nofib shows only small differences of about +/- ~0.5% overall depending on
    flags/machine performance in other benchmarks improved significantly.
    
    Other benchmarks includes at least the benchmarks of: aeson, vector, megaparsec, attoparsec,
    containers, text and xeno.
    
    While the magnitude of gains differed three different CPUs where tested with
    all getting faster although to differing degrees. I tested: Sandy Bridge(Xeon), Haswell,
    Skylake
    
    * Library benchmark results summarized:
      * containers: ~1.5% faster
      * aeson: ~2% faster
      * megaparsec: ~2-5% faster
      * xml library benchmarks: 0.2%-1.1% faster
      * vector-benchmarks: 1-4% faster
      * text: 5.5% faster
    
    On average GHC compile times go down, as GHC compiled with the new layout
    is faster than the overhead introd...
    912fd2b6