New LLVM Debugger Subproject Already Faster Than GDB
kthreadd writes "The LLVM project is now working on a debugger called LLDB that's already faster than GDB and could be a possible alternative in the future for C, C++, and Objective-C developers. With the ongoing success of Clang and other LLVM subprojects, are the days of GNU as the mainstream free and open development toolchain passé?" LLVM stands for Low Level Virtual Machine; Wikipedia as usual has a good explanation of the parent project.
So maybe a better way of putting it is "not yet as slow"
It's possible that LLVM-based tools may be approaching the point where they could supplant GCC, but this project doesn't seem all that important to that goal. There are definitely niches where a fast debugger matters, but that's exactly what they are--niches. A faster debugger is very, very low on the list of things that would help you compete with the GCC toolchain.
Things like supporting variadic templates, having a wider array of backends, and the like are far more important if you want to displace GCC--the backends, in particular, make clang a total non-starter for many embedded developers.
That's not to say the fast debugger isn't a good development--for things that need it, it's very valuable indeed. But the attempted spin of the blurb seems to miss the point.
rage, rage against the dying of the light
"s the days of GNU as the mainstream free and open development toolchain passé?"
I suspect that that will depend, in part, on how LLVM ends up being used. Since it is under a BSD-esque license, LLVM itself is definitely a candidate for being the "mainstream free and open development toolchain"; but only if the majority of real-world support scenarios don't involve proprietary actors taking advantage of that fact. In that case, it'll pretty much just end up being the core of a large number of binary, proprietary, BSPs and toolchains.
Given the good things that are said about its technical characteristics, I would hope that that doesn't happen; but the potential exists.
Does it have to refresh constantly and run at 60fps?
The way I use debugger, most of the time it waits for input from me. My biggest gripe with gdb is how awkward to use it is and how crappy all visual overlays for gdb are, bot how fast it is.
Seriously? The mere existence of a debugger project for LLVM, reportedly faster (whatever does that mean for a debugger?) than gdb, leads to the question of GCC as a project has it's days numbered?
1. LLDB is AFAIU only for MacOSx yet, and x86-(64). Then what about all other combinations of platforms that make up ~99% of install base (yes, counting embedded) where GCC reigns supreme?
2. It's a friggin toddler! Doesn't mean it won't grow up into something fantastic, doesn't mean it will!
3. PERFORMANCE is the key sales-point? What about the multi-thread-debugging everyone else seems to care about?
Don't get me wrong. Noone would like to see competition in the open-source-sphere than I do, especially for such entrenched segments as GCC. But LLDB as of yet doesn't really affect things at all IMO.
the LLVM fix: a BSD style, fully free, as in "free" (not as in "beer" or any other not-quite-free internet-libertarian-testament-to-education-failure construct) not encumbered in any way license, the success of which is evidenced by substantial corporate contribution to the LLVM project from several different companies, and
the LLVM fix: a modular architecture, with a well defined Intermediate Representation which can be used between arbitrary compiler stages, and a project principle that each modular component should be implemented a library which an be linked into arbitrary higher level programs, so that compiler components can be shared with the debugger and the IDE, or example, the success of which is evidenced by XCode 4, and the reuse of LLVM components in the LLDB Debugger Project, and in other ways.
Making a faster compiler which emits code with superior optimization (e.g. runs faster on given target hardware) than gcc just gives The LLVM Project bragging rights, which is a "nice to have" but probably not really an essential technical feature (it may be an essential marketing feature for the project, though).
If you mod me down, I shall become more powerful than you could possibly imagine.