Linked by Eugenia Loli on Tue 7th May 2002 15:21 UTC
Original OSNews Interviews Mark Mitchell is one of the people behind CodeSourcery, but he is mostly known for his major contributions on GCC, the Gnu compiler. These days, Mark is the release manager of GCC and he is working hard trying to get GCC 3.1 out of the door. GCC 3.1 is going to be the first truly stable version of the 3.x source branch and many developers are already looking forward for it. Mark talked to OSNews about the new GCC, the future and the competition.
Order by: Score:
Hmmmm....
by mercron on Tue 7th May 2002 15:47 UTC

I know this was probably an email interview, with fixed questions, but was question 9 really relevant after he had already answered 'no' to question 8? He added more information, but basically said "I've no idea - I've not enough data". I personally would have left it out...

Great idea but it didn't flow flow
by eldorado on Tue 7th May 2002 18:21 UTC

Along the same lines, the idea of interviewing this fellah was great but it seems that he wasn't too interested in some of the questions. Further I would have asked some very different questions because i have different focus on the matter (not better just different). It might have been neat to have given us a chance to contribute some questions.

busy
by Andrew Shewmaker on Tue 7th May 2002 18:38 UTC

I second the idea to ask us to contribute questions.
Perhaps you could post the questions that you thought of
and then ask for comments on them.

Too bad the answers weren't more lengthy, but I think I
understand. Mark is probably very busy coordinating the
next release right now, so I don't begrudge his short
answers.

Of course, this would be the perfect opportunity for
someone to gather the additional questions that I'm sure
will be appearing here shortly and go find the answers in
the gcc mailing lists and interview other developers and
then submit the report back to Eugenia. Unfortunately I
cannot volunteer myself at this point.

Thanks for posting the interview Eugenia.

More info please!
by ICC-v6 on Tue 7th May 2002 18:40 UTC

Especially the auto-vectorize question should have been analyzed more. I wish Mark was a bit more forthcoming with the interview and talk a bit more. And for the recompilation when an app is running or the incremental linking? Come on Mark, you can do better than this! Personally, I am sticking with ICC. GCC does not seem to support all these cool features. I had some hopes for GCC 3.x, but these guys seem to have stick their heads to Aho/Selthi/Ullman's "Compilers" book, which was state of the art in 1985. Things have changed since then, and ICC or MsVC proves this.

wow..
by dr_sneed on Tue 7th May 2002 19:08 UTC

I'm sure the interviewer started off with good intentions as the questions suggest, but wow.. those are some pathetic responses. I feel i'd have gotten more information by asking myself those questions and answering "i don't know".

I must say, i'm with ICC-v6 on this one. ICC and VC are excellent compilers, and i think it should be on the GCC team's plate to tackle these issues, or at least provide some insight on their plans to do them, or lack-of. Of course, this is what i expect from GPL projects so i wasn't TOO let down.

Regarding your input for the interview
by Eugenia on Tue 7th May 2002 19:11 UTC

We have published more than 20-25 interviews on OSNews since last August. Only two of them were in the "don't bother me" mode. This one and the Linus Torvalds one.

Their loss. Not OSNews'.

The article is linked by every big Linux/OSS site atm (so, OSNews get lots of hits), but they could have made it to "work" better for them and their projects. These things work both ways. It works fine for us, but it won't work very well for CodeSourcery or GCC, "marketing"/popularity-wise. We gave them a chance of presenting gcc 3.x to our readers, who are mostly devs or power users. And GCC 3.1 comes out soon. It could do better with some additional good exposure. Because the marketeers are the developers in this instance. If I was interviewing the people behind Intel's compiler or MsVC, I would probably be directed to talk to their marketing or project manager guys. With Open Source, the developers are the "marketing" people too. It is an additonal responsibility, except if they don't care about publicity. In which case, it is not a surprise that Linux has less than 1% of the desktop market.

Yeah, I am unhappy too with this interview. I will survive though.

YAY!
by ruprecht on Tue 7th May 2002 20:06 UTC

No more gcc/g++ crap for me! Sun Developer subscription is in the mail ;)

re: Regarding your input for the interview
by Kevin on Tue 7th May 2002 20:19 UTC

Yeah, I agree. It's their loss. Still, I wish more of the questions were answered better... it would have be a very nice interview.

With Open Source, the developers are the "marketing" people too. It is an additonal responsibility, except if they don't care about publicity. In which case, it is not a surprise that Linux has less than 1% of the desktop market.

Yep. Hmm, could you interview Steve Wozniak? That would be cool...

re: YAY!
by void on Tue 7th May 2002 20:34 UTC

I'm definately with ruprecht on this one. The Forte compilers are great ;)

Screw ICC/msVC
by NH on Tue 7th May 2002 20:40 UTC

You people are all missing the point of GCC. Whining that it doesn't support this microoptimization, or that whiz-bang feature. GCC is still the only cross-platform, open source compiler worth speaking of. Will ICC cross-compile for exotic targets like ancient alpha procs? Does MSVC support more than a dozen operating systems?
I thought not.

re NH (Screw....)
by ruprecht on Tue 7th May 2002 20:45 UTC

that's alll great and what not, but the fact is, that while supporting all these great platforms they have failed to make a compiler that works *WELL* on even the most popular platforms. (x86/Alpha/Sparc). And what's with supporting crap like ada something or another. They should consentrate on writting a C/C++ compiler and not an ada/java/<some other thing that does not belong there> compiler.
BTW
Alpha is NOT and exotic CPU
(am I getting old???)

I like chess, and have observed for several years now that the same chess program code compiled by GCC for a linux system runs much slower than when compiled by MSVC on windows. I would think that it should be quite the opposite, since one can compile custom linux kernels, optimize for speed, no GUI window manager overhead, etc. but it is not so.
I would really like to see the Intel compiler people provide some assistance to GCC.

I blame the questions somewhat
by Rayiner Hashem on Tue 7th May 2002 22:27 UTC

I agree the developer wasn't as open as he should have been, but the question's also seemed overly specific. They focused far too much on comparing GCC to other compilers and performance in general. I know performance is important, but these aren't BeOS (they're UNIX people) people and you've got to treat them a little differently ;) Perhaps if you'd asked more questions about g++'s complience with ISO-C++ (which they seem particularly proud of) or stability or been allowed some questions with a bit possibility for open ended response, you would have gotten some more information.

PS> I don't mean to criticize in any way. This is just my analysis of why it seems the interviewee wasn't terribly interested in the questions.

Quit harping on GCC.
by Rayiner Hashem on Tue 7th May 2002 22:35 UTC

GCC is a very good compiler. It's open source (which prevents them from using some optimization algorithms that are propriatory, btw) widely supported, extremely well documented* very standards complient, and generates good, stable code. Sure it's not the fastest or most optimizing, but that's not the only thing a compiler needs. Besides, if GCC didn't support a lot of these architectures, no one would. It's more important to GCC to keep these supported than to get the absolute best performance from one particular proc. Different projects, different priorities. Don't like it, use ICC!

* Don't underestimate the importance of an open and documented compiler. I've been using ICC with my OS kernel, and reverse engineering compiler-dependent stuff was getting old. I finally got it all working, and then ICC 6 came out and changed the ABI. Thankfully, this time its new open C++ ABI (and the same as G++ 3.1's) so I should only have to do this C++ support crap one more time.

Nice Interview
by linux_baby on Tue 7th May 2002 23:17 UTC

On the contrary, I thought the man's responses were great. He went straight to the points. Obviously, he is no marketing director, and doesn't claim to be one. I thought we should first give him credit for doing the interview to begin with.

BTW, If you think GCC, or Linux, or whatever needs some marketing, how about volunteering your own effort? Its all volunteer stuff remember. This generation is way too spoiled. They whine about everything. Even if you put them in heaven, they will invent something to cry about. Basically, they think the world owes them heaven and earth, even when they are getting free services.

As for linux-desktop and advertising: Apple is well advertised, and yet it gets less than 5% of the desktop. What gives? So was OS2.

Anyway, it is always amusing to hear the latest explanation -as to why Linux on the desktop is a flop.

Forte
by opt-out on Tue 7th May 2002 23:19 UTC

Yes, but the price of the Forte Suite is a kick in the shorts (you can get 2 Sun Blade Systems for the same price).

GCC is GOOD!
by Gaurang on Tue 7th May 2002 23:27 UTC

I dont understand what you people are talking about? ICC and MSVC etc etc.

GCC is *multi-platform* and *open source*, generates good, fast, stable code. Period.

Intel knows their own processor better than anybody, hence they are able to make ICC better than all other compilers for their platform. Tell them to make the *same* compiler generate binaries for sparc, alpha, mips, etc etc...

GCC, being multi-platform, is not able to generate *very* optimized code for one platform of all those it supports.

MSVC and ICC just concentrate on ONE platform and therefore they win!

GCC has helped the Open Source community a lot, since the same code (Almost) compiles on any platform, any OS, etc. And it is *free*. The whole open source evolution has been dependent on GCC.

Sure, the questions weren't the greatest, but is it any surprise? Eugenia and the rest of the OSNews team aren't compiler gurus. From an end-user-developer standpoint, what other kinds of questions would one ask?

GCC is awesome. But apologetics isn't needed. It's Free, widely supported and documented. That's incredible. But it doesn't mean that it can't improve, and that the users of it cannot wish it so. No need to get defensive.

Indeed, an open and documented compiler is a wonderful thing. But that makes it all the more important that GCC have the features of modern compilers like ICC. Sure, someone could just go use ICC, but as you state, there are other problems introduced with that. So what's wrong in wishing for GCC to be on the level with ICC?

I'm with NH -- You guy's don't understand GCC
by eloj on Wed 8th May 2002 00:03 UTC

GCC is the Gnu Compiler Collection. It aims to be portable and support a lot of targets. The questions basically reeked of "gcc produces inferior x86-code. What are you doing to fix this for us non-contributing leeches?", which is just plain rude and whining.

The questions should have been about general improvements in code generation, if the codebase has become easier work with and add targets to, if any new targets is coming in, how much of the c++ standard it supports (is export in? g++ compiles both Loki and Boost, no? Does MSVC?). You didn't even ask what was in store after the release? What is the focus of the next major version?

In short, the questions sucked and the answers were to the point.

Gcc can't use some optimizations
by Hugues on Wed 8th May 2002 05:32 UTC

One point often missed is that GCC is restricted to using non-patented optimization methods. Basically the dragon book and a bit further than that but vectorization is probably right out. I'd like Gcc to support openMP though (is there a patent issue?)

Anyway I find most high-level optimizations to be overrated. On some rare occasions you'll find a non-trivial improvement on a carefuly written piece of code, but if you recompile any pre-existing large project with Icc instead of Gcc you're not likely to get much more than 5-10% speed improvement if you are lucky. That's always good to have but not worth bitching too much about it.

Anyway, there's always pgcc (Pentium-optimized Gcc), never tried it but I hear it has OK x86 optimizations. In some sence Gcc is the reference/baseline compiler now. It never hurts to use it, it's reasonably efficient (not perfect) and runs almost everywhere. It is also free of *any* requirements. Look at the EULA for VC++ if you want a taste of what proprietary people want you not to do with their tools for example.

Now if you need the extra performance on a particular platform you'll need to go to another compiler, and be prepared to a lot of heartache if you find it miscompiles your code for some reason.

All the best.

ICC may be cool, but that doesn't mean it's better
by steven on Wed 8th May 2002 08:03 UTC

Especially the auto-vectorize question should have
been nalyzed more.


It would make sense that such a pass would be implemented at some point. GCC 3.1 is the first release with (experimental) support for SIMD instructions such as SSE and AltiVec. Autovectorization has been discussed on the mailing list.

Personally, I am sticking with ICC. GCC does not seem
to support all these cool features. I had some hopes
for GCC 3.x, but these guys seem to have stick their
heads to Aho/Selthi/Ullman's "Compilers" book, which
was state of the art in 1985. Things have changed
since then, and ICC or MsVC proves this.


MSVC also proves that complying with the standards is hardly a goal they're persueing. ICC is a cool compiler -- for Intel machines. Ever tried it on Athlon? It doesn't produced faster code than GCC for AMD processors at all, AFAIK

As for the dragon book, GCC actually is way beyond that in some areas, but yes, it lags in some areas compared to other compilers. But GCC has been around for such a long time that stability is an issue. There are so many platforms that actually _depend_ on GCC, which means that GCC crew have a responsibility. I don't think it's surprising that this prevents inclusion of all kinds of fancy but hardly effective new optimizations.

Yes but ...
by Joeri Sebrechts on Wed 8th May 2002 09:02 UTC

Maybe the problem is that there just aren't that many gcc developers. It's like how everybody was bashing koffice until it became public knowledge that there were only 3 guys working on it. It's probably something like that with gcc too. I mean, come on, would YOU go develop gcc?

Was this interview a Turing test? ;)
by codefire on Wed 8th May 2002 09:18 UTC

I got the impression reading the interview that it was kind of a Turing test. Was the person answering the questions a program (bot) or a real person? Geez programmers heh ;)

I feel for you Eugenia!

Code.

ICC is much faster !!
by Manoel on Wed 8th May 2002 11:58 UTC

OK, GCC is targeted for multiple platforms and it is median on all but ICC is much faster for new Intel or AMD processors. Most of linux distributions and applications are still compiled for 386 processors...

I use icc compiler for developing scientific programs and on some of it (specially wich that use vector or matrix calculations) I can obtain 40% to 50% of gain in execution time (with all vectorization and optimization turned on and Pentium II code generation). ICC is also better than M$ Visual C++ (or C+- ? :-) ).

Question blaming
by tpv on Wed 8th May 2002 12:22 UTC

I didn't like the questions much, but that's mostly because I rarely share Eugenia's point of view on things.

I don't think the questions were up Mark's alley, and that's a shame, and possibly OSNews should have tailored the questions better.
a) CodeSourcery aren't really focussed on lots of x86 work, they port to other platforms etc, so a lot of x86/G4/Crusoe etc questions aren't up their alley.
b) They (and the rest of the GCC team) tend to be big on the standardisation point of view. The C++ standard and ABI standards. So, the first question worked well.
c) Mark is the release engineer, so he would probably have been happier answering questions abou that.

However, CS does pin their company on GCC, and if they're not willing to put effort into an interview about it, then they're doing themselves a disfavour.
Ever if Mark had passed the questions off to someone else, it would have looked better than it did.

He doesn't owe us anything, and nor does the GCC team, but you don't create good geek-karma by putting minimal effort into inteviews for tech sites.

And if you target market is geeks, then you need good geek-karma.

Oh well, it looks like another bunch of engineers that aren't interest in marketing themselves. Not too much of a surprise really. ;)

Yup, nice interview!
by John Kenneth Grytten on Wed 8th May 2002 13:23 UTC

This obviously shows that GCC could need some marketing help, but that's IMO no reason to give it up. Neither are the lack of "advanced features". Would you rather have a buggy compiler producing blazingly fast code, or do you like the stability of Linux? ;-) (I'm not talking about stability of XFree+dog....)

Of course, anyone could start a new GNU project writing the world's best compiler for x86 architectures. Then you could write it in C++, using G++/libstdc++v3 for speedy development (generic programming etc). Maybe that would be a nice project to get a high-performance compiler on Intel, but then Intel have already provided such a compiler.

Too bad we can't get everything for free..

Regarding Linus's Interview
by Jeremy on Wed 8th May 2002 13:56 UTC

can you blame the guy?

he is bombarded with requests for journalists to the point that he has a standing rule that no journalist can enter his house and he has a handler at work so that he can actualy get work done.

I mean, sheesh, how many times do you think you could be asked the same set of questions by hundreds of people every year?

Journalists are so dang serious, and Linus just wants to have fun.

let the guy have a life and don't bemoan him for not being enthusiastic about "Another" interview with the same set of questions. I am sure if he was asked questions on a more personal level like "what are you doing with your days now" and "hows the family life" or "what do you see yourself doing when you are an old swdish speaking finn"

ask him questions that are actualy interesting to him, and anyone else who gets bombarded with interview requests for that matter, and he will probobly be more enthusiastic and detailed about his answers.

Re: Question blaming
by david on Wed 8th May 2002 18:44 UTC

Mark is the release engineer. He can talk about the
release process and give his personal opinions about GCC technlogy and direction. If you want a complete answer about GCC development and directions, you need to ask all of the major developers.

Agreement: They need a better PR person, and better questions
by less_interested on Wed 8th May 2002 21:51 UTC

I have to (second, third, fourth?) just about everyone's opinion here: uninteresting interview with an unenthusiastic person. Surely the project has a better evangelist, and prompting users for questions (ala /.) would be much better....

my two cents
by nnooiissee on Thu 9th May 2002 02:11 UTC

I think icc is a great thing. Having never used gcc on an x86 machine I have often resented the amount of effort that goes into optomizing for that architecture. Maybe now x86 performance will not be as big a deal.

Having read the interview, and the comments, I realize that autovectorization is not too likely in the immediate future, but i think that should be the highest priority.

Intel, AMD, Apple, and others sell computers with proprietary vector units, and there are few good compilers that will do autovectorization. People will take advantage of vector units, and if they are forced to do it by hand (as i will soon do), that damages compatability worse than any lack of standards ever could.

Apple may well be our best chance here. Apple has more riding on gcc than any other company, and has been contributing back. Apple also has alot riding on AltiVec, so I can hope they are doing work on autovectorization that will find its way back into gcc trunk, and eventualy become generalized to work cross platform.

gcc3.0.x vs. icc6.0
by Andrew Shewmaker on Thu 9th May 2002 16:05 UTC

Some people may be interested in this series of benchmarks.

http://www.coyotegulch.com/reviews/intel_comp/intel_gcc_bench2.html

Infineon microcontrollers?
by Gsc on Fri 10th May 2002 02:12 UTC

I'm kinda surprised to see the Infineon 166 microcontrollers mentioned. I'm working on learning them for work. I wouldn't think to use gcc for embedded controllers. I suppose that cross compiling is one of gcc strong points though.
Anyhow, it's good to hear about gcc development going strong. Alternative OS's benefit HUGE by this work.