dblaikie added a comment. >> But if LLDB has different performance characteristics, or the default should >> be different for other reasons - I'm fine with that. I think I left it on >> for Apple so as not to mess with their stuff because of the MachO/dsym sort >> of thing that's a bit different from the environments I'm looking at. > > These are the numbers from my llvm-dev email in June: > >> setting a breakpoint on a non-existing function without the use of >> accelerator tables: >> real 0m5.554s >> user 0m43.764s >> sys 0m6.748s >> >> setting a breakpoint on a non-existing function with accelerator tables: >> real 0m3.517s >> user 0m3.136s >> sys 0m0.376s > > This is an extreme case,
What was being tested here? Is it a realistic case (ie: not a pathalogical case with an absurd number of symbols, etc)? Using ELF? Fission or not? How's it compare to GDB performance, I wonder? Perhaps LLDB hasn't been optimized for the non-indexed case and could be - though that'd still potentially motivate turning on indexes by default for LLDB until someone has a motivation to do any non-indexed performance tuning/improvements. > because practically the only thing we are doing is building the symbol index, > but it's nice for demonstrating the amount of work that lldb needs to do > without it. In practice, the ratio will not be this huge most of the time, > because we will usually find some matches, and then will have to do some > extra work, which will add a constant overhead to both sides. However, this > means that the no-accel case will take even longer. I am not sure how this > compares to gdb numbers, but I think the difference here is significant. > > Also, I am pretty sure the Apple folks, who afaik are in the process of > switching to debug_names, will want to have them on by default for their > targets (ping @aprantl, @JDevlieghere). I think the cleanest way (and one > that best reflects the reality) to achieve that would be to have `-glldb` > imply `-gpubnames`. As for whether we should emit debug_names for DWARF 5 by > default (-gdwarf-5 => -gpubnames) is a more tricky question, and I don't have > a clear opinion on that (however, @probinson might). > > (In either case, I agree that there are circumstances in which having > debug_names is not beneficial, so having a flag to control them is a good > idea). *nod* Happy if you want to (or I can) have clang set pubnames on by default when tuning for LLDB, while allowing -gno-pubnames to turn them off. (& maybe we should have another alias for that flag, since debug_names isn't "pubnames", but that's pretty low-priority) Repository: rLLDB LLDB https://reviews.llvm.org/D51208 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits