[GHC] #9661: Branchless ==# is compiled to branchy code

GHC ghc-devs at haskell.org
Sun Apr 19 16:54:42 UTC 2015


#9661: Branchless ==# is compiled to branchy code
-------------------------------------+-------------------------------------
        Reporter:  dfeuer            |                   Owner:  bgamari
            Type:  feature request   |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.9
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:  D854
-------------------------------------+-------------------------------------

Comment (by jstolarek):

 Replying to [comment:21 rwbarton]:
 > Did anyone ever come up with actual benchmarks that show a potential
 performance improvement from non-branching code?

 https://ghc.haskell.org/trac/ghc/wiki/PrimBool#Benchmarks

 I know these numbers are not much, but they give some hope that branchless
 operations can improve performance. I recall that Gregory Collins saw a
 potential use for branchless primops in his `hastables` library. When I
 worked on implementing #6135 I did some measurements on hastbales but saw
 now improvement in performance - now I realize that this might have been
 because `==#` was compiled to branchy code but I didn't realize that.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9661#comment:24>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list