Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 5,247
    • Issues 5,247
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 582
    • Merge requests 582
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell CompilerGlasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #19989
Closed
Open
Issue created Jun 15, 2021 by Sylvain Henry@hsyl20Developer

Performance of OccurAnal

Looking at a ticky report for GHC.Linker.Loader (randomly chosen module) sorted by Alloc we can see that OccurAnal appears quite often (6 entries in the first 50):

    Entries      Alloc    Alloc'd  Non-void Arguments      STG Name
--------------------------------------------------------------------------------
     332720  129773280          0   4 SMLL                 $woccAnalApp{v raHT} (GHC.Core.Opt.OccurAnal) (fun)
     409881   99256848          0   2 SM                   $wtagLamBinder{v raFH} (GHC.Core.Opt.OccurAnal) (fun)
     427004   61389072          0   2 MM                   setBinderOcc{v r3Xp} (GHC.Core.Opt.OccurAnal) (fun)
     449986   52681200          0   2 SM                   GHC.Core.Opt.OccurAnal.$woccAnal{v raFs} (fun)
     637430   45647640          0   3 SLL                  $woccAnalArgs{v raHU} (GHC.Core.Opt.OccurAnal) (fun)
      27651   20549760          0   5 SESMS                GHC.Core.Opt.OccurAnal.occAnalBind{v r3Wd} (fun)
      79632   15289344          0   1 S                    sat_siqr{v} (GHC.Core.Opt.OccurAnal) (fun) in raFs
      39098   11310728          0   3 SLM                  $woccAnalLamOrRhs{v raHS} (GHC.Core.Opt.OccurAnal) (fun)
     353019    8472456          0   2 SM                   tagLamBinder{v r3Xm} (GHC.Core.Opt.OccurAnal) (fun)
      24061    8454488          0   6 ESSSSM               $wtagNonRecBinder{v raHb} (GHC.Core.Opt.OccurAnal) (fun)
      79584    7003392          0   2 SL                   addInScope{v r3WK} (GHC.Core.Opt.OccurAnal) (fun)
     329276    5289056          0   2 SM                   $wlookupBndrSwap{v raFF} (GHC.Core.Opt.OccurAnal) (fun)
     162925    5187320          0   5 SSSiM                GHC.Core.Opt.OccurAnal.$wdoZappingByUnique{v raEW} (fun)
       4186    4008624          0   1 T                    sat_sj1o{v} (GHC.Core.Opt.OccurAnal) (fun) in r3Wf
      24527    3923880          0   4 SEMM                 $woccAnalRhs{v raHQ} (GHC.Core.Opt.OccurAnal) (fun)
      13440    2895048          0   2 SL                   $wgo4{v sj2p} (GHC.Core.Opt.OccurAnal) (fun) in raFt
       7557    2474912          0   4 SETL                 $lgo6_gj3j{v} (GHC.Core.Opt.OccurAnal) (fun)
     136494    1850592          0   1 L                    $wgo3{v raHK} (GHC.Core.Opt.OccurAnal) (fun)

We should investigate this.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking