Changes between Version 2 and Version 4 of Ticket #12747


Ignore:
Timestamp:
Oct 29, 2016 4:14:34 PM (3 years ago)
Author:
MikolajKonarski
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #12747

    • Property Related Tickets changed from to #12603 #12781
  • Ticket #12747 – Description

    v2 v4  
    33https://github.com/LambdaHack/LambdaHack/blob/e7b31a0d937b6ef6e53665eab23663dcaf4ced81/Game/LambdaHack/Client/UI/DrawM.hs#L145
    44
    5 produces distinct figures in all three cases.
    6 
    7 See
     5produces distinct heap memory allocation figures in all three cases, see
    86
    97https://ghc.haskell.org/trac/ghc/ticket/12603?replyto=8#comment:7
     
    1513It seems almost as if GHC considers a function for inlining in some stages, optimizes accordingly, but changes its mind in other places, not being bound by either INLINE nor NOINLINE, and so the resulting stack of optimizations is different than in either case. IMHO that's too complex behaviour for the programmer to follow, it should irreversibly decide whether to inline at exactly the same place it first takes into account the NO/INLINE pragmas, if present.
    1614
     15[Edit: another example is the code in description of ticket #12603, where INLINE, NOINLINE and <nothing> each produce different "MUT time".]