On Thu, Aug 13, 2015 at 10:09:00AM -0700, Joe Julian wrote:
Bandwidth is probably the main problem, although anyone who wants to debug will probably be fine with that. I think you guys misunderstood me. The biggest problem IMHO with building debug versions locally is not compiling itself, but setting up the environment. So, I meant that packages come with debugging enabled (compiled with gcc -O0 -g and perhaps ./configure options). This way, there will be not many new packages.
No, the biggest problem with building debug versions locally is that it takes hours of developer time multiplied by every bug found. Why are we wasting such a limited resource when it's so easy not to? Life is finite.
That's just pure theory. In practice, the compilation itself is a minor inconvenience, unless you are talking about Gnome/KDE. But debugging those is hopeless anyway :) As a developer, you'll spend most time understanding the changes (looking at the code), not compiling.
Of course, this is not a good idea for things like FF/Gnome/KDE because of a slow-down, but a performance penalty for smaller programs like vim, links, XFCE4 etc. will not be noticeable (at least I don't see any for a self-compiled xfce4 desktop on a single-core Intel Atom based netbook).
Cheers,
What is this slow-down you keep talking about? I'm not asking to do away with optimization, just give us a way to get the debug symbols without rebuilding. The debug symbols are located in totally different sections from the code/data sections. You can check it with objdump:
I was under the impression that with C, -On (n > 0) is not recommended with -g. Now, I don't know how much -O2 (for example) speeds things up compared to -O1 etc, but probably not much on small applications. Granted, I think any compiler-level optimization is overrated, and I never really saw any measurable effect of it. But I use Fortran (not C) for all my projects. Cheers, -- Leonid Isaev GPG fingerprints: DA92 034D B4A8 EC51 7EA6 20DF 9291 EE8A 043C B8C4 C0DF 20D0 C075 C3F1 E1BE 775A A7AE F6CB 164B 5A6D