What about keeping exactly what -g1 keeps for gcc (i.e. functions, external variables, and line number tables)?
On Sun, Jan 4, 2015 at 5:48 PM, Peter Wortmann <sc...@leeds.ac.uk> wrote: > > > Okay, I ran a little experiment - here's the size of the debug sections > that Fission would keep (for base library): > > .debug_abbrev: 8932 - 0.06% > .debug_line: 374134 - 2.6% > .debug_frame: 671200 - 4.5% > > Not that much. On the other hand, .debug_info is a significant contributor: > > .debug_info(full): 4527391 - 30% > > Here's what this contains: All procs get a corresponding DWARF entry, and > we declare all Cmm blocks as "lexical blocks". The latter isn't actually > required right now - to my knowledge, GDB simply ignores it, while LLDB > shows it as "inlined" routines. In either case, it just shows yet more > GHC-generated names, so it's really only useful for profiling tools that > know Cmm block names. > > So here's what we get if we strip out block information: > > .debug_info(!block): 1688410 - 11% > > This eliminates a good chunk of information, and might therefore be a good > idea for "-g1" at minimum. If we want this as default for 7.10, this would > make the total overhead about 18%. Acceptable? I can supply a patch if > needed. > > Just for comparison - for Fission we'd strip proc records as well, which > would cause even more extreme savings: > > .debug_info(!proc): 36081 - 0.2% > > At this point the overhead would be just about 7% - but without doing > Fission properly this would most certainly affect debuggers. > > Greetings, > Peter > > On 03/01/2015 21:22, Johan Tibell wrote: > > How much debug info (as a percentage) do we currently generate? Could we > just keep it in there in the release? > > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs