
#8272: testing if SpLim=$rbp and Sp=$rsp changed performance at all -------------------------------------+------------------------------------- Reporter: carter | Owner: carter Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.7 Resolution: | Keywords: | callingConvention Operating System: Unknown/Multiple | Architecture: x86_64 Type of failure: Runtime | (amd64) performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bollu): * cc: bollu (added) Comment: CCing myself in light of some [https://github.com/bollu/simplexhc-cpp simplexhc] experiments. On ackermann function, [https://gist.github.com/bgamari/bd424e82d96ddb7b9e67c5e51cdcc5ec GHC and clang O3 don't scale linearly]. On teaching simplexhc to generate C-like code (using `call/ret` instead of custom stack frame management), I began getting C-like performance on the same examples. Previously, I was around GHC, or somewhat slower. [https://gist.github.com/bollu/a59c3c8d2c193e2d63409064b6d855c3 Link to numbers from that experiment here]. I sent out an e-mail to LLVM-dev, asking if it is possible to fake GHC- like "custom call stack on the heap" within LLVM. If possible, I'd like to implement that and check for slowdowns in C code. That should provide some data of the benefits of choosing to use the native call stack. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8272#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler