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,396
    • Issues 4,396
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 379
    • Merge Requests 379
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #16817

Closed
Open
Opened Jun 13, 2019 by Ben Gamari@bgamari🐢Maintainer

Selectively reduce optimisation level in GHC build

Currently there are a few places in the GHC build where we do signficantly more time than is necessary or warranted, especially during development:

  • the stage0 ghc-cabal is built with $SRC_HC_OPTS, which contains -O in most build flavours. This means that we end up spending a significant amount of time compiling an optimized Cabal, despite the fact that stage0 ghc-cabal is hardly a performance critical executable.

  • stage2 Cabal is built with HsLibHcOpts, which contains -O in most build flavours. Not only is Cabal typically not going to be performance critical for users, but the object size from an unoptimised build is significantly smaller than that from an optimised build.

Edited Jan 23, 2020 by Ben Gamari
Assignee
Assign to
9.2.1
Milestone
9.2.1
Assign milestone
Time tracking
None
Due date
None
Reference: ghc/ghc#16817