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,268
    • Issues 4,268
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 408
    • Merge Requests 408
  • 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
  • #2346

Closed
Open
Opened Jun 05, 2008 by choener@trac-choener

Compilation of large source files requires a lot of RAM

We have automatically generated source files with up to ~20000 lines of code.

One type definition, two functions called "grammar" (cmGrammer, ghGrammar) and one or more functions called "algebra" (prettyprint, scoremax, count, ***) are generated. Each function has a where-clause with 100+ locally visible function defined.

Attached, you find two files (ADPTriCombinators.lhs, RnaI.lhs) with helper-functions and three of our source files. One is the smallest example we have and the other the largest. RF00549RED.hs is reduced to only the type, one algebra and one grammar.

Copy all files into a directory and then execute:

ghc --make RF00390.hs (should work)
ghc --make RF00549.hs (WARNING: EATS ALL MEMORY)
ghc --make RF00549RED.hs (WARNING: EATS ALL MEMORY)

System Info:

Linux workstation 2.6.25-ARCH #1 SMP PREEMPT 
Fri May 16 14:52:43 CEST 2008 
i686 AMD Athlon(tm) 64 Processor 3500+ AuthenticAMD 
GNU/Linux (2 GByte RAM, 2 GByte Swap)

gcc version 4.3.0 (GCC)

Thanks, Christian Höner zu Siederdissen

Edited Mar 09, 2019 by Simon Peyton Jones
Assignee
Assign to
8.0.1
Milestone
8.0.1 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: ghc/ghc#2346