Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
GHC
GHC
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,254
    • Issues 4,254
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 394
    • Merge Requests 394
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #6104

Closed
Open
Opened May 17, 2012 by Simon Marlow@simonmarDeveloper

Regression: space leak in HEAD vs. 7.4

I often keep an eye on compiler performance by compiling Cabal. Yesterday I noticed that HEAD appears to have a space leak: it needs 806MB to compile Cabal with -O, vs 424MB with 7.4.1.

Here are the results. First 7.4.1:

$ ghc-7.4.1 -O --make Distribution.Simple +RTS -s
  53,658,077,704 bytes allocated in the heap
   9,679,170,192 bytes copied during GC
     148,845,896 bytes maximum residency (56 sample(s))
       6,610,216 bytes maximum slop
             424 MB total memory in use (0 MB lost due to fragmentation)

                                    Tot time (elapsed)  Avg pause  Max pause
  Gen  0     102382 colls,     0 par   24.24s   24.22s     0.0002s    0.0046s
  Gen  1        56 colls,     0 par   12.48s   12.48s     0.2229s    0.4738s

  INIT    time    0.00s  (  0.00s elapsed)
  MUT     time   57.37s  ( 60.81s elapsed)
  GC      time   36.72s  ( 36.70s elapsed)
  EXIT    time    0.00s  (  0.00s elapsed)
  Total   time   94.09s  ( 97.52s elapsed)

And HEAD:

$ ghc-nightly2 -O --make Distribution.Simple +RTS -s
  55,699,304,032 bytes allocated in the heap
  11,721,558,728 bytes copied during GC
     288,988,200 bytes maximum residency (50 sample(s))
       7,808,192 bytes maximum slop
             806 MB total memory in use (0 MB lost due to fragmentation)

                                    Tot time (elapsed)  Avg pause  Max pause
  Gen  0     107655 colls,     0 par   28.83s   28.83s     0.0003s    0.0043s
  Gen  1        50 colls,     0 par   16.36s   16.36s     0.3272s    1.0063s

  TASKS: 3 (1 bound, 2 peak workers (2 total), using -N1)

  INIT    time    0.00s  (  0.00s elapsed)
  MUT     time   59.87s  ( 63.18s elapsed)
  GC      time   45.19s  ( 45.19s elapsed)
  EXIT    time    0.00s  (  0.00s elapsed)
  Total   time  105.07s  (108.37s elapsed)

We need to squash this before 7.6 is released.

Trac metadata
Trac field Value
Version 7.5
Type Bug
TypeOfFailure OtherFailure
Priority highest
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
Assignee
Assign to
7.6.1
Milestone
7.6.1
Assign milestone
Time tracking
None
Due date
None
Reference: ghc/ghc#6104