Slashdot Mirror


Intel C/C++ Compiler Beats GCC

jfonseca writes: "An article from Open Magazine claims the new Intel C/C++ compiler's geometric mean performance on multiple kernels compiled through it reached 47% improvement over GCC. They also predict the end to the ubiquitous GNU compiler due to low performance. Many other compiler/platform combinations also compared. A bit pretentious, yet an interesting read."

580 comments

  1. GCC will live by JanneM · · Score: 5, Insightful

    GCC is the only compiler you can count on being present on every Linux (or BSD) system. Thus most code released is going to continue being compilable by gcc, and it's going to remain the baseline for source distribution.

    /Janne

    --
    Trust the Computer. The Computer is your friend.
    1. Re:GCC will live by Anonymous Coward · · Score: 0, Insightful

      GCC is the only compiler you can count on being present on every Linux (or BSD) system. Thus most code released is going to continue being compilable by gcc, and it's going to remain the baseline for source distribution.

      Can you say, embrace and extend?

      This is yet another example of free software/open source hypocrisy. "Our product sucks ass, but other people are forced to use it anyway".

    2. Re:GCC will live by mlsemon2 · · Score: 2, Funny

      Ye of little faith, I fully expect Intel to release its complier free with source and have it bundled with every Linux distro. I'm so confident, I'll hold my breath until this happens. I'll reply to this thread when it's done.

      /me holds breath...blush...gasp!...ack!...hrmmmm

    3. Re:GCC will live by Anonymous Coward · · Score: 0
      Yeah. Consider the amount of work many Linux users put to make crappy apps works. How about the never-ending chore of making X look nicer. Etc.

      Now, how hard was it to install the Intel compiler? And wasn't this argument "users are lazy" exclusive to Windows users only?

    4. Re:GCC will live by ackthpt · · Score: 2, Insightful

      GCC also you can pretty much trust to work with AMD and Cyrix CPUs, not that I'm suggesting anyone might get ideas...

      --

      A feeling of having made the same mistake before: Deja Foobar
    5. Re:GCC will live by Anonymous Coward · · Score: 2, Insightful

      Oh gee - I'm gonna run out to get the Intel compiler for my PPC platform - uh, hmmm, doesn't seem to be one. How 'bout my Sparc? Hmmm - well, then there's that Alpha... nope - well darn it, Intel's compiler is kinda useless when it only runs on Intel in a world of multiple platforms... Fortunantly, GCC just about compiles on everything with a CPU - so what if it's a little slower - that's just another donut and cup of nice coffee for me and an excuse to kick back and relax between hectic coding sessions...

    6. Re:GCC will live by Anonymous Coward · · Score: 1, Insightful

      But will Intel make a compiler for other platforms? I highly doubt it.
      Thus still leaving gcc as the compiler of choice.

    7. Re:GCC will live by eschasi · · Score: 1, Troll

      I'm sorry, but that's just plain silly. 90-95% of the freeware systems (Linux, *BSD, BEOS) run on Intel-based systems. If the Intel compiler is as good as claimed and is reasonably priced, every single significant *IX-based web server is going to be cut over to it in nothing flat. Sure, GCC won't die. But if these numbers hold up, it's going to be second banana on Intel-based systems for a long time to come.

    8. Re:GCC will live by ecc0 · · Score: 1

      And how often, exactly, does the average GNU/Linux web server compile C(++) programs? Probably not often enough to make the performance of GCC become a problem, and probably not often enough to justify the price (whatever it is, except if it's free beer) of the Intel compiler. Then there's that bit about having the source code...

      And furthermore, you're forgetting that servers is the area where other platforms than Intel are most prevalent.

    9. Re:GCC will live by Anonymous Coward · · Score: 0

      Have you looked at the code its generating on your
      Sparc or Alpha? No you haven't if you're advocating
      using it. Get the vendors' compilers and watch
      your apps' performance go thru the roof. This is
      especially true of the Compaq compilers for the
      Alpha. Now let me guess - you don't actually do any
      serious coding on Sparc or Alpha do you? Hmm
      Maybe I'm just too bitter and twisted today.

    10. Re:GCC will live by Allnighterking · · Score: 1

      I'm sorry, but that's just plain silly. 90-95% of the freeware systems (Linux, *BSD, BEOS) run on Intel-based systems.

      ummm do you have any numbers to back this up or do you just mean that YOU are running intel? Sorry, but sales figures show that intel and amd are about neck and neck in sales. Unless you buy from Dell. What they do run on is i386 arch compatible systems. Which doesn't mean intel AMD Cyrix, Transmeta and others build CPU's that are i386 compatible. Then you have to include all of the MIPS and Strong Arm systems running Linux et al. So when you are done you'll find that non intel CPU's are pervasive and you my would be friend have egg all over you.

      --

      I'm sorry, I'm to tired to be witty at the moment so this message will have to do.

    11. Re:GCC will live by jedidiah · · Score: 5, Insightful

      No, there's simply a tradeoff between "compability" and "performance". This doesn't even get into "freedom" or "cost".

      One should well expect a CPU vendor's compiler to do well than something that is more general. The fact that we're not all rushing Intel is not hypocrisy.

      You merely have an overly simplistic view of the situation.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    12. Re:GCC will live by jedidiah · · Score: 3, Insightful

      Yet despite of this you see REAL companies actually deploying GNU based Sparc apps. Unless you're a Fortran coder, the possible performance difference well may be meaningless.

      Payware compilers have some relevance for code that is payware itself. However in the "cheap" or "give me the code or give me death" camps, the cheaper and more open options will still win out.

      If performance were really so paramount, the Intel architecture itself would have gotten dumped a long time ago.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    13. Re:GCC will live by Not+The+Real+Me · · Score: 0

      Let's see Alpha, Sparc, PPC.... You left off 8080, Z-80, 6502, Commodore, Amiga. Oh! What a minute!!!! The combined market share of Alpha, Sparc, PPC can't possibly be more than 10 percent maximum worldwide. I'm not sure what point you're making other than the processors you have listed account for a very small percentage of the market. I live in Los Angeles. I don't know anyone who uses Alpha. I worked at a place that had Sparc, but they had way more Intel machines with Linux. PPC? Yeah right. The salepeople and the graphics department were running MacOS, the rest of the company was on Intel (except for some Sparc, AIX and mainframes in the basement). The PPC's ran MacOS only, no other OS. Then again, I've never met anyone in the L.A. area who ran anything except MacOS on a PPC.

    14. Re:GCC will live by Anonymous Coward · · Score: 0

      GCC is the only compiler you can count on being present on every Linux (or BSD) system

      Which is perfectly fine when all you want to write is mediocre performance applications which are tied to a vendor (or in this case, FSF) specific compilation platform.

    15. Re:GCC will live by Anonymous Coward · · Score: 0
      every single significant *IX-based web server is going to be cut over to it in nothing flat...

      The big gains over GCC were on very specialized mathematical code, like linear algebra computations. Unless you somehow interest the Internet public in linear algebra (www.spectralgap.com or www.aminondegenerateornot.com?), it's going to make no difference in web serving.
    16. Re:GCC will live by Vulture_ · · Score: 1

      A good example of a similar tradeoff is in the difference between, say, Java and C. Modularity, portability, and so forth are exchanged in exchange for some (rather small) amount of performance.

      --

      The only way the typical /.er can pick up a chick is with a forklift. -- AC

    17. Re:GCC will live by Inthewire · · Score: 0

      It's not about compile time.
      It's about the speed of the binaries produced by the compiler.

      --


      Writers imply. Readers infer.
    18. Re:GCC will live by Anonymous Coward · · Score: 0

      Now if only gcc didn't compile binaries that sucked ass on PPC and Alpha...

    19. Re:GCC will live by Shanep · · Score: 2

      so what if it's a little slower - that's just another donut and cup of nice coffee for me and an excuse to kick back and relax between hectic coding sessions...

      So I assume from this comment that you are refering to compile time?

      I think it is important to note that this article is not about compile time, but something I think is far more important, it's about the executable speed of your compiled code.

      If I had a PIII or 4 and the compiler was reasonably priced, I would probably buy Intels compiler, though the last time I payed for a compiler was for the latest and greatest Borland C++ v3.0. Back then, I was quickly dissapointed to learn that the new Watcom compiler was pretty quick.

      I'm moving to PPC anyway, so I'm not overly excited (I must be part of the fabled 5%, I prefer the company of 5% types anyway).

      --
      War crimes, torture, lies, illegal spying... Would someone give Bush a blowjob, already, so he can be impeached?
    20. Re:GCC will live by eschasi · · Score: 1
      I certianly stand corrected on Intel vs. i86 clones, but still believe (seat of the pants) that 95% of the hosts running Linux are i86 or x86-clone based. If you've got numbers to contradict my opinion, I'll happily change it based on facts. Thus far your facts don't stand up. You say intel and amd are about neck and neck in sales, but according to the press releases from last week AMD now hit 20% of market share (up from 16%). That sure isn't neck and neck.

      My other point still stands -- show people who care about performance a 45% increase in thruput, and they'll respond. Yes, the compiler is not free in the sense often used here. When you've got servers driven to the wall, buying the next increment of performance costs big bucks. If you can get another 10% throughput with a $500 compiler rather than hardware upgrade, it's a win. Especially when you can dist those compiled objects to all your hosts.

      As for me, Joe Home User, I'm pretty interested in what the free (as in beer) version will do for me.

    21. Re:GCC will live by fitten · · Score: 1

      Strange... I guess I'm so used to the "Linux is faster than Windows" posts that it surprises me to see so many posts saying that performance doesn't matter anymore when a compiler that costs money is released. Also, I haven't seen anyone mention that the benchmarks on that page show that the same codes when run on a WindowsXP box are faster than when run on a Linux box. I guess they are only relevant when Linux is in the lead. Anyway, having used GCC for a long time, there are a couple of issues that I have gathered. Postitive: It is wonderful to have a known compiler that works on just about everything. It really helps sysadmin install software for people to use as well as provide a common development environment. This was extremely beneficial in academia and somewhat beneficial in commercial activities. Negative: GCC typically was ahead of the curve on support for features in the new standards. Unfortunately, this was the Turbo Pascal problem as well. Eventually you get people who have only used GCC who must use a different compiler and their code either won't compile or they have been trained to use constructs that aren't standard, basically requiring the continued use of GCC or some relearning when moving to a different platform/compiler. Yes, you can turn on strict ANSI checking but most people tend to not do that because it requires extra knowledge to know how to do that and the differences that you must watch out for and it requires more typing. Older versions of GCC were horrid but it has improved greatly over the years (requiring a rewrite at some point iirc). For many people, just having software that runs is "good enough" (so my LaTeX document makes in 1:15 instead of 1:00, big deal... it works). However, for some people, any compiler improvements are a big deal (my simulation runs in 6 days instead of 7).

    22. Re:GCC will live by Anonymous Coward · · Score: 0

      When will Windows come with MSVC++ for free (legally) ?

      Never.

  2. Not open source by Nate+B. · · Score: 4, Insightful

    The article itself states the compiler itself is not open source. So how's this going to cause it to be chosen over GCC when it (probably) won't be distributed to the same degree as GCC?

    Q: Why do people use MS-Office?
    A: Because its there.

    Q: Why will people use GCC?
    A: Because its there!

    Same concept, really. Most Free Software will continue to be built with GCC until Intel releases this compiler under the GPL, performance not withstanding.

    --

    "Insanity is doing the same thing over again expecting a different result."
    1. Re:Not open source by Sunda666 · · Score: 2, Interesting

      Compilers like this will be used mainly by performance freaks, like AutoDESK (it still exists?), Adobe and folks that do intensive-cpu apps and have the cash to pay for an improved compiler to have and edge over competition (see? photoshop xxx rotates a picture 11 degrees faster than paintshop yyy...).

      Being an user of a special compiler myself (SDS's cc68000), I think that this kind of compiler has a niche market, and the good old GCC is still the most widely used, and probably will be for ages.

      Altough, If this new intel compiler does ELF, I can see MandrakeSoft or RedHat building their RPMs (glibc too - yay!) with it and claiming they are faster than the competition ;-).

      --


      ``If a program can't rewrite its own code, what good is it?'' - Mel
    2. Re:Not open source by Anonymous Coward · · Score: 0

      Q: Why people stopped using GCC?
      A: Because something much better was available!

    3. Re:Not open source by Anonymous Coward · · Score: 0

      Q:Why have most people stopped using Windows?
      A: They haven't even though something better was available.

    4. Re:Not open source by Anonymous Coward · · Score: 1

      Gee, that really is some risk taking...

    5. Re:Not open source by sbrown123 · · Score: 1

      Q: Why people have not stopped using GCC?
      A: Because its available and works great.

      I have 0 complaints with GCC. Its dependable, works, and I dont have to shell out money for it. Also, it has support for other languages (like Java and Ada) that make it a perfect single tool to use.

    6. Re:Not open source by ergo98 · · Score: 1

      Huh? GCC is a free, open source compiler. MS Office is a $579 US proprietary product. Not really too much of a comparison there so that doesn't make a lot of sense.

      I do actually agree with you, at least with perhaps what you're trying to say: People use GCC because they know the code that they'll get and the projects they share will be with a common denominator of GCC: I have the Intel Compiler for VC++ and it works well and promises some speed benefits over VC 6, but I don't use it simply because of two reasons: a) tiny little differences between it an VC++ : It has to be 100% the same to capture the audience, b) the promise of Visual Studio.NET (which I am now using) which was the classic "Don't bother with that because soon there'll be the new extra crispy compiler!". I'm seeing the exact same sort of "you just wait!" premonitions regarding GCC 3 in here.

    7. Re:Not open source by Jahf · · Score: 2, Interesting

      One other possibility is to use the free-for-use but not open-source Linux version (mentioned earlier, so I'm basing this on hearsay) to compile your own system.

      Distros like Sorcery and Gentoo, which are geard to allow you to have the most optimized OS possible for your system could greatly benefit by this.

      --
      It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
    8. Re:Not open source by jmauro · · Score: 1

      glibc would be hard. The intel compiler doesn't support many of the GCC extensions.

    9. Re:Not open source by Anonymous Coward · · Score: 0

      Intel doesn't release things under the GPL, ever, nor should they. On occasion, they release something under a more useful license, that happens to be much more free. I wouldn't expect it to happen with a project of this magnitude, however.

    10. Re:Not open source by Alex · · Score: 1

      "Altough, If this new intel compiler does ELF, I can see MandrakeSoft or RedHat building their RPMs (glibc too - yay!) with it and claiming they are faster than the competition ;-)."

      So you are saying that RedHat (who own Cygnus - who write GCC) would use the Intel compiler to compile their operating system?

      Would they compile the whole lot with the intel compiler? What would they compile GCC with? Or would they compile different things with different compilers? This would get very horrible, very quickly,

      Alex

      ps - after the "dodgy" version of gcc saga can you imagine any linux vendor going through that again?

    11. Re:Not open source by Vulture_ · · Score: 1
      ...And when (or, I suppose, if) they do, the optimizations will be merged into GCC and any advantage they had is gone.

      Probably why they don't release it thusly.

      --

      The only way the typical /.er can pick up a chick is with a forklift. -- AC

    12. Re:Not open source by Sunda666 · · Score: 1

      It wold indeed be cool to have your distro compiled with a higher-performance compiler than GCC, especially for types (unlike me) who would exclusively use RPMs instead of compiling their own stuff. But, since this compliler need a different closed RTL than glibc (which someone also pointed that would not complile outside gcc), it would be truly messy as you said (2 c/c++ RTLs loaded is a stupid waste). my bad, we should concentrate on adding this optimizations to GCC instead of hyping on Intel. RMSs bad is not to let some patented optimizations into GCC. maybe someone should fork a x86 backend to gcc to include them. This is a case of zealotrism hurting a lot of people.

      --


      ``If a program can't rewrite its own code, what good is it?'' - Mel
    13. Re:Not open source by be-fan · · Score: 2

      Not only does icc do elf, it also supports most of the gcc linktime stuff like .gnu.linkonce.* sections. It is *very* compatible, as long as you don't use any gcc-specific extensions (except inline asm). It tends to be a little less strict than gcc 3.x, though.

      --
      A deep unwavering belief is a sure sign you're missing something...
    14. Re:Not open source by TangoCharlie · · Score: 1

      Not quite the same concept. GCC has become the
      compiler of choice in Free OS's for two reasons:
      1) It's free (as in Beer and as in Speech)
      2) There aren't any other compilers which
      cover the same (vast) number of platforms.

      MS Office has become the office suite of choice because it's pushed by the biggest software company in the world and the have crushed all
      competing products.

      --
      return 0; }
  3. The end of gcc 'cause intel's compiler is faster? by Rushuru · · Score: 3, Insightful

    As long as intel's compiler is not GPL and does not support as many architectures as gcc does, I don't think gcc will vanish any time soon.

    Plus everytime benchmarks showed that a closed source product was faster/better than the free software counterpart, the open source community worked hard to improve its champion.

    gcc is dead, long live gcc

    --
    !
    ^_^
  4. Is it surprising? by Chazmati · · Score: 5, Interesting

    I guess I'm not that surprised that the corporation that designed the CPU would produce a more optimized compiler.

    The interesting thing is that the Intel compiler's code ran at 'virtually identical' speeds on an Athlon.

    1. Re:Is it surprising? by Shiny+Metal+S. · · Score: 5, Insightful

      I am, however, surprised with one thing: Why doesn't Intel try to improve the GCC itself? They sell hardware, after all, and it would really benefit them, when they could say "Our 1GHz CPU is 40% faster than AMD 1GHz CPU using the standard GCC compiler." Intel should want every compiler on Earth to use their optimization (so should AMD and others), not only their compiler.

      --

      ~shiny
      WILL HACK FOR $$$

    2. Re:Is it surprising? by DGolden · · Score: 5, Insightful

      Becasue they could inadvertently improve gcc's output on non-intel architectures, perhaps? - GCC compiles to an intermediate tree form called "RTL" first, and thus some of intel's higher-level optimisations could end up imporving gcc PPC code, say. And that would be a bad thing for Intel, in the same way as you don't see Microsoft coders adding completion ports to linux to improve linux server I/O.

      (although, a lot of intel's optimizing is probably due to their knowledge of the arcane, baroque, and just plain stupid x86 architecture, and thus would not be applicable to saner CPUs archs like... virtually anything else currently available.)

      --
      Choice of masters is not freedom.
    3. Re:Is it surprising? by tomstdenis · · Score: 2, Informative

      While you're right that some of the optimizations are higher levels, alot of the stuff GCC doesn't currently optimize is instruction pairing, data prefetching, etc...

      That is a lower-level backend issue and won't seriously improve the other backends at all.

      The OP has a point though, by upgrading GCC instead of making their own compiler more people will have access to a compiler that makes code tuned for their processor better.

      For instance, I have a PIII [I don't but lets say I do]. I write code and build it in GCC. I go out and buy a PIV [roughly same clock rate] I notice that my code is not significantly faster. I get pissed off...

      However, I buy the PIV and tell GCC to use PIV specific optimizations, my code turns out faster and I am happy.

      Tom

      --
      Someday, I'll have a real sig.
    4. Re:Is it surprising? by eldrich · · Score: 3, Interesting

      Funnily enough when we tested the Intel fortran compiler against the Portland group fortran compiler (fortran here means numerically intensive double precission code) the Portland compiler produced the faster code. Here we use bought Portland and use it on the beowulf frontend to compile the actual cluster executables and use g77/gcc on all the development workstations. g77/gcc is not particularly fast but it is available and very very useful. We evaluated the Intel compilers but found more problems in going from intel to portand than g77 to portland. GCC will never die it is far too useful

      --
      My ZX81 could do that, but only on a good day!
    5. Re:Is it surprising? by Anonymous Coward · · Score: 0

      I am, however, surprised with one thing: Why doesn't Intel try to improve the GCC itself?

      Intel is working on improving GCC. They've sunk $Millions into RedHat/Cygnus for example.

      There's just some fundemental problems with GCC that prevent the same results. Some design issues, some FSF policy issues (no patented optimizations, no intermedary compilation steps written to disk).

    6. Re:Is it surprising? by Shiny+Metal+S. · · Score: 1
      The main competitor of Intel are x86 clones, not PPC. If their optimization improves performance on non-intel x86 chips, than their own compiler already has to do it.

      That's why I assume, that their optimization is very specific to their own chips, and to almost nothing else (especialy AMD chips).

      --

      ~shiny
      WILL HACK FOR $$$

    7. Re:Is it surprising? by Anonymous Coward · · Score: 0

      I'm surprised you can make do with gnu fortran. Most of the clustering libraries I see these days require fortran 95 or fortran 90 to compile. Intel is at least a choice (although we don't we use it because there are better ones) but gnu isn't even an option.

    8. Re:Is it surprising? by Karma+Star · · Score: 1

      They didn't produce the compiler - Kuck and Associates did. Intel bought them out. The guy who invented it has been around for a while - here is a short bio on him.

      --
      Me email iz skyewalkerluke at microsoft's free email service.
    9. Re:Is it surprising? by Lars+T. · · Score: 3, Interesting
      Actually AMD processors gwt quite a boost too. In issue 23/01 of the German computer magazin c't (article not online - www.heise.de/ct/ ), there is an article about Intel's C compiler for Linux. Testing with SPECInt2000 , they get an average increase of 20% over gcc.

      P4/1.7 +26%, P3/866 +23%, Athlon/1.2 +16%, AthlonXP/1.2 +19% (due to SSE).

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    10. Re:Is it surprising? by Anonymous Coward · · Score: 0
      If I'm not mistaken. Intel has donated code to GCC. Intel seems to be one of the bigger companies that indirectly "gets" free software. They are about selling chips so it is in their best interest to have good tools in the hands of the masses. What really strikes me as odd is that AMD hasn't jumped on the GCC bandwagon with both feet, especially since they are diverging from Intel and have their own specific architectural needs for optimization.


      Part of it is how freesoftware works. Intel haven't forked gcc, they don't want to. They also can't just dump a chunk of code out and it's going to be rolled in. There are a lot of people working on gcc and they all have different goals and objectives. Intel's stuff won't be turned away always but you can't expect them to put a team together to retool gcc so that it cranks out stellar x86 code for Pentium4 and just have all of those changes automatically rolled in. The kernel is a good example of this, there are some big chunks of code out there that aren't part of the Linus or AC kernels, XFS and JFS come to mind. They might get merged in but they've been around for a while.


      Also, FWIW, GCC is a good compiler. Sure there are faster ones. Sure there a compilers that generate better code. You'll always find pedantic cases also, if I can make a loop 10% faster per a set of iterations I can cater a benchmark to make it look anyway I want. I can make it look like one compiler produces code that's 10% faster, or I could make it look like it produces code that %80 faster. I'm not suggesting that there is any bias in the benchmark but I am saying that it's a benchmark. Could we compile linux kernel and get substantially different results streaming data to the disk through a filesystem? Could we show apache handling tons more requests? Could we show mozilla being more snappy? Sure there are "better" compilers but GCC isn't a piece of crap either. There is a lot of code out there where you couldn't tell the difference between a product of gcc and a product of the intel compiler, not without special tools. Like all things, GCC is improving and people are thinking about doing some fairly different things with it, it will get better.

    11. Re:Is it surprising? by Anonymous Coward · · Score: 0

      I am, however, surprised with one thing: Why doesn't Intel try to improve the GCC itself?

      Because only 0.024% of all people use Linux on their desktops, that's why. If I was writing a photoshop killer for Linux, IT WOULDNT MATTER TO MY BOTTOM LINE WHETHER I WROTE IT IN PERL OR INTEL FORTRAN.

      Facts do terrible things to ideologies.

    12. Re:Is it surprising? by Anonymous Coward · · Score: 0

      Have you looked at the GCC source? Its design?
      GCC is not a good basis for an optimizing compiler.
      The improvements that people have made are not
      notable for the speed of the resulting code, but
      that it could be done at all in that framework.

    13. Re:Is it surprising? by bero-rh · · Score: 3, Insightful

      Don't forget that gcc can do SSE these days, as well.

      Check out the gcc HEAD branch, and try something along the lines of

      -O2 -march=athlon -mcpu=athlon -msse -m3dnow -mmmx

      --
      This message is provided under the terms outlined at http://www.bero.org/terms.html
    14. Re:Is it surprising? by Anonymous Coward · · Score: 0

      DEC's Alpha compiler was/is much better than GCC on that architecture as well.

      Ironically:

      1.) The Compaq Alpha compiler, which is available
      to the Linux community, is not capable of compiling
      Linux kernels due to some idiosyncracies in the
      kernel code;

      and

      2.) It was sold to Intel along with the Alpha
      architecture and most of the people who designed it.

    15. Re:Is it surprising? by Lars+T. · · Score: 2

      Yet the Intel compiler is still faster for Athlons than gcc.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    16. Re:Is it surprising? by Isle · · Score: 1

      Except that gcc HEAD cant really do anything these days. It is work in progress, and last time I checked(2 months ago) it couldnt even compile itself.
      So basicaly gcc cant do mmx nor sse optimizations .. yet :)

    17. Re:Is it surprising? by bero-rh · · Score: 2

      There's quite a bit of progress going on in gcc HEAD.
      It has been a very stable compiler for about 6 weeks.

      Oh, and gcc can do mmx since some time before 3.0
      was released (e.g. 2.96 can do it).

      --
      This message is provided under the terms outlined at http://www.bero.org/terms.html
    18. Re:Is it surprising? by jd · · Score: 2

      See "Pentium Gnu C Compiler" (PGCC), which was developed by Intel engineers, iirc.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  5. Borland C++ vs. Intel C++ on Linux by Anonymous Coward · · Score: 0

    Since it looks as if Borland is going to release their C++ compier for Windows, I'd like to see how it compares to Intel C++.

    What about the OpenWatcom project? Are they going to be porting to Linux any time soon? I recall their compiler being quite good as optimizing under DOS and Windows, and it has run on UNIX-like OSes in the past (QNX).

    1. Re:Borland C++ vs. Intel C++ on Linux by Anonymous Coward · · Score: 0

      Borland is going to be releasing their C++ compiler for Linux, that should read.

    2. Re:Borland C++ vs. Intel C++ on Linux by Anonymous Coward · · Score: 0

      If windows version is any indication, borland will be slower than intel with the fpu code.

  6. But GCC's free... by PoiBoy · · Score: 2, Interesting
    While the article did provide evidence that Intel's compiler produces faster code, it neglected to mention one small difference betwee gcc and Intel cc: gcc is free, while a single-user license from Intel is $499.

    While software firms and organizations developing mission-critical programs may decide to switch to icc, the fact that gcc is free will help it to remain popular among hackers and other budget-constrained users. Moreover, most of the source code programs one downloads for Linux are designed to be compiled with gcc.

    --
    Sig (appended to the end of comments you post, 120 chars)
    1. Re:But GCC's free... by Zarjazz · · Score: 1

      Well the intel compiler *is free* for non-commercial use, just check out http://www.intel.com/software/products/compilers/c 50/linux/form1_noncom.htm

      Also at present the P4 support for gcc is pathetic so the Intel compiler is the only option you have if you want to optimize for that CPU.

    2. Re:But GCC's free... by Anonymous Coward · · Score: 0

      "while a single-user license from Intel is $499. "

      So? $500 is almost the same thing as $0 for any company. The cost for the compiler is really nothing compared to salaries and so on.

    3. Re:But GCC's free... by Anonymous Coward · · Score: 0

      For the majority of linux users this doesnt matter, because the majority of linux users dont do anything productive with their machines anyway. They are too busy downloading child porn and flaming anonymous bulletin boards. But for people who do numerical work, this is a huge win. For scientists and engineers these compilers are a must have. For you typical linux lusers this wont help you be any more lame than you already are.

      --Anonymous high-ranking numerical bad-ass.

  7. Umh, this isn't really surprising by entrox · · Score: 5, Interesting

    I was always under the impression that a vendor supplied compiler would almost always out-perform a generic cross-compiler, which is available on much more other platforms. GCC is all fine and dandy, but it's it shines in other aspects than pure optimization and fast code (they may be faster on some architectures than the vendor supplied compiler, but that's not my point). The produced code x86 was always sub-optimal. Because of that, projects like pgcc exist(ed).

    --
    -- The plural of 'anecdote' is not 'data'.
    1. Re:Umh, this isn't really surprising by Karma+Star · · Score: 1

      Actually, the Kai compiler (which is what the intel compiler really is) was multiplatform. And it would still outperform other compilers because it would generate platform-optimized C code, then call the native compiler/linker on that platform to create the executable. This way, you could write one set of code, compiler across different platforms, and still have a tight, fast, optimized executable.

      Unforunately, Intel bought them out, and dropped multi-platform support...

      --
      Me email iz skyewalkerluke at microsoft's free email service.
  8. Re:The end of gcc 'cause intel's compiler is faste by Anonymous Coward · · Score: 1, Informative
    I write high performance numerical code for a living.

    The difference between Intel compiler and GCC is even more than 47% in number crunching.

  9. What does their 'kernel' mean by lxnt · · Score: 2, Interesting

    It seems that they've been testing performace of
    some code blocks they've called 'kernels' for some
    obscure reasons.

    That makes the test useless - if they've compiled
    some linux kernel by both, say GCC and MSVC and their own compiler - that's where the real results
    are to be derived from. Needless to say that they
    couldn't do that.

    And their (surely optimized) "kernel"s run faster compiled by their own compiler. Bah! No surprise.

    Conclusion : this is unfair comparison, and the results of the test say nothing.

    --
    ./lxnt
    1. Re:What does their 'kernel' mean by glwtta · · Score: 2

      I gotta say the whole "kernel" thing confused me a bit - when they mentioned one kernel showing a decrease in performance with Intel, I just thought: "which one? 2.4.17?"

      --
      sic transit gloria mundi
    2. Re:What does their 'kernel' mean by Anonymous Coward · · Score: 0

      They benchmarked small (kernel=small) floating-point codes on the latest Intel processors.

      It would be more interesting to see how it compates on integer codes (like gcc or SPECint) on a Pentium Pro CPU.

    3. Re:What does their 'kernel' mean by KewlPC · · Score: 1

      Neither the article nor the test were done by Intel.

      Open Magazine (or whatever they're called) are the ones who decided that the Intel compiler produced faster x86 code than GCC.

    4. Re:What does their 'kernel' mean by ypocat · · Score: 1

      they probably mean that Linux kernel which can't be compiled, because their compiler for Linux can do only Linux applications.
      Have a look at http://developer.intel.com/software/products/eval/
      Poor marketing crap, again.

  10. Mozilla w/ Intel compiler by wolruf · · Score: 3, Insightful

    I really hope Mozilla will soon compile with Intel to see how it compares with GCC as we cannot compare yet OS/compiler (Win32 builds uses Visual C++, Unix use GCC most of the time):
    evaluate Intel's C Compiler

    --
    wolruf@gmail.com
    1. Re:Mozilla w/ Intel compiler by slashdot2.2sucks · · Score: 1

      Though there is a possibles side effect. You couldn't release nightly binaries, because the Intel compiler takes so long to compile optimized code and the Mozilla project is so large.

      And the already small pool of UNIX Mozilla developers would get even smaller.

  11. wtf? by glwtta · · Score: 5, Interesting
    will stay the hammer that drives a stake through the fibrillating heart of the aging technology behind the GNU C compiler

    Could this be more full of itself? Somehow I have trouble accepting sweeping generalizations about the fate of compiler technology from someone who obviously dropped out of a creative writing program at some third-rate school.

    --
    sic transit gloria mundi
    1. Re:wtf? by p3d0 · · Score: 2

      It sounds like an entry in the Bulwer-Lytton Fiction Contest.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    2. Re:wtf? by Anonymous Coward · · Score: 0

      The GNU compiler IS old and sucky, what do you want them to say?

    3. Re:wtf? by MikeyLikesIt! · · Score: 1

      It sounds like an entry in the Bulwer-Lytton Fiction Contest

      Ha!

      I liked the 2001 winner of the science fiction category:

      Kirk's mind raced as he quickly assessed his situation: the shields were down, the warp drive and impulse engines were dead, life support was failing fast, and the Enterprise was plummeting out of control toward the surface of Epsilon VI and, as Scotty and Spock searched frantically through the manuals trying to find a way to save them all, Kirk vowed, as he stared at the solid blue image filling the main view screen, that never again would he allow a Microsoft operating system to control his ship.

      Mike Rottmann
      Reno, Nevada
      --

      I dunno... What do you wanna do?

    4. Re:WTF? by Anonymous Coward · · Score: 0

      because you made fun of Open Source, and not windows. How dare you! :P

    5. Re:wtf? by glwtta · · Score: 1, Flamebait
      How in bloody hell is this off topic??? It's about the damn article, it even has a bleeding quote from the damn article! Or are you the one who decides which parts of the article we are supposed to talk about? Because no one told me.

      (Need to find a way to burn off some Karma - I've just reached the cap, and all sense of accomplishment and satisfaction has vanished from my life)

      --
      sic transit gloria mundi
  12. Re:Just goes to show... by Anonymous Coward · · Score: 0

    Yeah not to mention a lot of the GCC developers are ALSO paid to work fulltime on it.

    OK, let's stop the useless "open source sucks"-zealotism now.
    Intel C++ is only faster because Intel is the creator of the Pentium.
    They know everything about it, and thus know how to optimize code.
    Even Microsoft's Visual C++, one of the most expensive compilers around, don't optimize code as well as Intel C++ does.

  13. Performance is important by Jacek+Poplawski · · Score: 5, Interesting

    Sometime I analize assembler code produced by gcc-2.95.3 and I am dissapointed. Gcc can do so stupid things like inserting instruction inside - instead outside of loop. Probably gcc3 is fixed, but I heard it still produces slow code (not faster than gcc-2.95.3). So which compiler should I use today?
    I know gcc3 is better, becouse it supports more platforms, but what about speed improvements? To have fast inner loop in linux application I must code that loop in assembler. That is a problem for someone, who's creating a computer game.

    1. Re:Performance is important by Anonymous Coward · · Score: 0

      Shuttup sissie! If you take the trouble to check its assembler output, why dont you write in assembler in the first time, like real men do? kids...

    2. Re:Performance is important by Anonymous Coward · · Score: 0
      I tell you, C is a hard language to optimize because of its indiscriminate use of pointers. This makes it very difficult for compiler writers becuase of the way data can be aliased through multiple pointers. C99 has made a feeble attempt to correct this problem with the new restricted keyword, but it will do little to help fix the billions of lines of legacy C code. So when you look at less than optimal code generated by a compiler, put yourself in the compiler writer's shoes and ask yourself why; for that matter, drop an e-mail to the compiler writer or to a mailing list, and ask why. The answers you receive will be most instructive.

      Maybe we should not be worring about the C compiler anyway. Maybe we should rethink the language we use to code. There are engineering quality languages which are far safer and easier to optimize than C. Why aren't we using them?

    3. Re:Performance is important by Jacek+Poplawski · · Score: 1

      Shuttup sissie! If you take the trouble to check its assembler output, why dont you write in assembler in the first time, like real men do? kids...

      You probably wasn't serious, but I am. I spend few years programming stuff only in assembler (for DOS). I though I can use just pure C/C++ in Linux, but if I need real fast code - I must write inner loop in asm.
      I hope gcc will be faster one day. I just think it is important to say, that it should to be faster.

    4. Re:Performance is important by Shiny+Metal+S. · · Score: 5, Informative
      Sometime I analize assembler code produced by gcc-2.95.3 and I am dissapointed. Gcc can do so stupid things like inserting instruction inside - instead outside of loop.
      Instead of being dissapointed, you should talk about it on GCC mailing lists or even submit a patch. This is how GCC evolve. If you are skilled enough (and I suppose you are, if you can read and understand optimized assembly), and if you suffer because of low performence, than you should act instead of just being dissapointed. Remember that GCC is a free software, you can improve it.
      --

      ~shiny
      WILL HACK FOR $$$

    5. Re:Performance is important by Jacek+Poplawski · · Score: 1

      So when you look at less than optimal code generated by a compiler, put yourself in the compiler writer's shoes and ask yourself why; for that matter, drop an e-mail to the compiler writer or to a mailing list, and ask why. The answers you receive will be most instructive.

      There is a little problem. Programming applications is much easier than programming compilers. I could see that compiler did something stupid, but I have no idea what it did wrong and how to fix that.

    6. Re:Performance is important by Anonymous Coward · · Score: 0

      I agree. My suggestion to ask the compiler writer was not facetious. It really would be interesting to hear from a compiler writer why the code generated for a loop was suboptimal. One problem with C is that optimizations are not global. They are almost always restricted to the compilation unit. Because there is no global inter-module analysis, the compiler writer has to be very conservative about what optimizations to make when the side effects of those optimizations might be in-the-large unknown.

    7. Re:Performance is important by cgray4 · · Score: 1

      First of all, your statement is not true. A compiler is just an application. It might be a larger application than you are used to programming, but that does not change the fact.

      Secondly, your response makes no sense. The suggestion was to email the generated asm to the compiler writer and possibly your suggestion of what the asm should look like. It was not to program a compiler. If you can see that the compiler did something stupid, then you can at least point that out to the developers. That would be helpful.

    8. Re:Performance is important by Jacek+Poplawski · · Score: 1

      Instead of being dissapointed, you should talk about it on GCC mailing lists [gnu.org] or even submit a patch. This is how GCC [gnu.org] evolve. If you are skilled enough (and I suppose you are, if you can read and understand optimized assembly),

      I can read, understand and write x86 assembler, but I am not skilled enought to understand gcc source.
      BTW I don't think patch is needed, if my problem with loop is only in gcc-2.95.3. Maybe I should install gcc3 and find new problems there. I am just waiting for any reason to upgrade.

    9. Re:Performance is important by Mister+G · · Score: 1

      Seriously, try using gcc-3.0.3 with compiler optimizations for the specific cpu core.

      I've been working on a computationally expensive project where I see gcc-3.0.3 (with CFLAGS = -O2 -mcpu=ultrasparc) beat out Sun Workshop 5.0 (CFLAGS = -fast).

      This is on (recent) sparc hardware on solaris of course. There is hope for gcc - you just have to tweak the flags a little more...

      -Jeremy

      Grante

    10. Re:Performance is important by Webmonger · · Score: 2

      Another reason 3.x is better is that it supports C++ better. Template handling is much more efficient, and using directives can be used to allow Parent::do_this(int) and Child::do_this(char) to coexist in Child, instead of Child::do_this(char) making Parent::do_this(int) inaccessable.

    11. Re:Performance is important by Anonymous Coward · · Score: 0

      Oh come now, you are talking about probably the simplest and most obvious of compiler optimizations. Even gcc does a pretty good job of it. I suggest you examine the compiler options you are using.

    12. Re:Performance is important by Anonymous Coward · · Score: 0

      yeah, I was kidding, BUT, there's truth in it as you said. There's nothing faster than brain-optimized assembler. Shame on me (or shame on Intel?!), I simply can't stand to write code on x86 asm, it sucks too much. Did a bit on the elder Zilog Z80 (which also sucked a bit), and a lot om motorla's 680x0, which was cute... Never did RISC, tough, but it seems pointless to write in RISC assembler, since the standard C++ optimization would do good on them, theoretically...

    13. Re:Performance is important by Shiny+Metal+S. · · Score: 3, Informative
      I can read, understand and write x86 assembler, but I am not skilled enought to understand gcc source.
      That's enough to be helpful. You can just post to gcc@gcc.gnu.org what you were compiling, what assembly you got, and how would you improve the assembly output.

      Really, that way you and everyone else could benefit.

      --

      ~shiny
      WILL HACK FOR $$$

    14. Re:Performance is important by bluetea · · Score: 1
      I've been working on a computationally expensive project where I see gcc-3.0.3 (with CFLAGS = -O2 -mcpu=ultrasparc) beat out Sun Workshop 5.0 (CFLAGS = -fast).

      This is an interesting result. I've looked at Sun's benchmarks for gcc 2.95.3 against Sun Forte 6 (the sucessor to Workshop 5) and, predictably enough, Sun's compiler was generally better - sometimes much better. gcc did reasonably well though, considering that (as with intel) Sun produced both the compiler and the architecture. Here's the link.


      It's also worth mentioning that these tests were done using C++ as the implementation language, so it's very possible that gcc 3 would do better than 2.95. My understanding is that C++ support is better in gcc 3.


      Workshop 5, on the other hand, is a buggy piece of junk. We're currently using it on the project I'm working on and we're having to jump through all kinds of hoops to keep it from miscompiling the program. gcc 2.95 on Linux and VAC++ for AIX both work fine.

    15. Re:Performance is important by rseuhs · · Score: 2
      Instead of being dissapointed, you should talk about it on GCC mailing lists [gnu.org] or even submit a patch.

      The problem is that in the case of GCC and any other project led by RMS, things are not that easy.

      In the case of GCC, I think a fork might be very beneficial to fuel development.

    16. Re:Performance is important by Anonymous Coward · · Score: 0

      I think you are all wrong.

      gcc WAS forked to egcs and the trees are now
      merged into gcc (GNU c compiler -> GNU compiler collection)

      And I do not think GCC is lead by RMS now.

    17. Re:Performance is important by Mister+G · · Score: 1

      That result sounds right...

      I know 2.95.3 doesn't have the optimizations for the ultrasparc (-mcpu=ultrasparc) That alone I think was how I was able to beat WS 5.0...

      I also agree with you that WS5.0 has... issues :)

    18. Re:Performance is important by Samrobb · · Score: 1
      Instead of being dissapointed, you should talk about it on GCC mailing lists [gnu.org] or even submit a patch.

      Really? And have someone tell you to "get lost" becuase the patch you're submitting offends their political sensibilities?

      But hey, at least I'm not bitter.

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    19. Re:Performance is important by Anonymous Coward · · Score: 0

      Thats why you buy a good compiler from people who are dedicated to do just that, compilers. GCC is just free stuff that people are doing at their unpaid time, you really can't compare it.

      Whats the big deal?

    20. Re:Performance is important by Anonymous Coward · · Score: 0

      I would not be surprised by the fact that any compiler would beat Sun Forte/Workshop 5/6. In my experience it produces code that is 3 times bigger as compared to g++. Even compilation times are much much longer on Forte when dealing with moderate C++ template use.

    21. Re:Performance is important by jelle · · Score: 1

      Ah, fear of rejection. Where have I read that before? ;-)

      Remember, your patch doesn't have to be 'accepted' to be used by you.

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
    22. Re:Performance is important by Anonymous Coward · · Score: 0

      Reading and understanding optimized assembly language code is fairly easy. Understanding how GCC works is a bit harder.

      Even (especially) if you do understand how GCC works, you'll quickly run into issues regarding what information is available when working on RTL. For specific, non-trivial optimizations, you may have to implement your own passes...

      Portability is a nice thing, but it does make some optimizations quite a bit harder. Some optimizations done by GCC work well, some don't. It's a reasonable compiler all in all, the 30%+ benefits of the Intel compiler will only be significant in some computation-intensive code, not all applications in general.

      For most people, anything less than 50% should not be a significant difference in performance, anyhow. If you buy a new CPU every 2-3 years or so, the difference in performance will be an order of magnitude more...

    23. Re:Performance is important by jejones · · Score: 2

      Agreed about C--but OTOH, Intel's compiler suffers from the same source language limitations, so if there is a difference in performance, one can't attribute it to conservative optimization forced by possible aliasing.

    24. Re:Performance is important by jelle · · Score: 2

      Well, with dependency paths defining the minimum time for a loop, and because of the fact that there is more than one resource that the processor can use each clock, there are many cases that inserting an instruction in a loop does not result in any increased cycles, yet does reduce the register pressure in the loop.

      I've used such tricks myself on other architectures with confirmed speed increases, and I'm pretty sure the same is true for the P4 & Athlon.

      In the 'old' days, execution speed was just counting instructions and their cycle counts, then processors came out with one cycle per instruction, making it easier, and then processors with a variable amount of instructions per cycle, making it less straight-forward again.

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
    25. Re:Performance is important by aminorex · · Score: 1

      It's a very real problem with all projects
      for which FSF owns the copyright:

      In order to submit a patch you have you get
      a copyright assignment physically signed by
      the holy hand of RMS. This can take literally
      many months. I just gave up on GCJ myself.

      "Your patch doesn't have to be 'accepted' to be
      used by you" -- true enough, but why bother?
      If I was interested in my own personal benefit,
      I would have used a closed source product in the
      first place.

      No, usoft is the biggest drain on the closed-
      source world, costing the economy literally
      billions of lost man-hours as a result of
      malignance and incompetence, while the biggest
      analogous impediment to human progress in the
      free world is the FSF.
      .

      --
      -I like my women like I like my tea: green-
    26. Re:Performance is important by jelle · · Score: 2

      Then open a project on sourceforge and put your patches there.

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
    27. Re:Performance is important by Anonymous Coward · · Score: 0
      Sometime I analize assembler code produced by gcc-2.95.3 and I am dissapointed.

      Yeah. Me too.

    28. Re:Performance is important by Anonymous Coward · · Score: 0
      I can see where this would be frustrating.

      Here's the situation: consolidated copyright status is required because FSF is trying to be in a strong position to defend the GNU GPL and LGPL licenses on their software projects in court.

      However, it's not necessary for contributions to be reassigned copyright, as I understand it, if the author is willing to grant the contributions into the public domain. You may wish to consider this as an avenue for contribution.

    29. Re:Performance is important by dvdeug · · Score: 2

      Instead of being dissapointed, you should talk about it on GCC mailing lists [gnu.org] or even submit a patch.

      The problem is that in the case of GCC and any other project led by RMS, things are not that easy.

      Like what? You're going to spend the time to understand a complex program and write some intricate patch, and you can't take time to sign your name to a form and send it in?

      In the case of GCC, I think a fork might be very beneficial to fuel development.

      Why? They had a fork, called EGCS. It became the new GCC, and everyone's happy. Do you really think there's that many would-be compiler writers who are too lazy to send in the paper work?

    30. Re:Performance is important by Samrobb · · Score: 1

      Oh, no worries there - we're using it, all right, along with a couple of others that probably won't be submitted because of this attitude. What blows is trying to give someone something out of gratitude and a sense of community, only to have them spit in your face.

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    31. Re:Performance is important by jelle · · Score: 2

      Well, maybe the current gcc maintainers are being (more than?) difficult, but there could be others who are really interested in your patches. If you just put it up on sourceforge.net, then they should be able to find it without too much hassle.

      Don't let all suffer because the current maintainers are distracted by other things, or worse.

      Remember gcc before? Development got stuck until approx version 2.7.2, then some people got fed up, forked (egcs), and now the leaders of egcs took over from the older gcc guys. Maybe it's time for another fork, or maybe they'll wise up.

      Maybe too, your patches aren't the right thing right now for the current gcc source tree and it's current development track, however if you keep it to yourself, it will be lost forever, and if you put it out there, others can pick it up, use it, improve it, and it then actually may have a change to be accepted later on (maybe it needs 'cleaning up', and somebody comes around sees the patches, cleans it up and gets it ready for submission. Even open source projects have project development such as coding standards, and code freezes you know, and the good thing with open source is, that if the current 'owners' fall asleep, people can take it away from them and there is nothing they can do about it).

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
    32. Re:Performance is important by Samrobb · · Score: 1

      Minor correction - I realize this is an article on gcc, but my experience was with the glibc maintainers.

      That said, yes, the information abou the problems and the workarounds were posted to the community of interest... a relatively minor number of folks, at least judging by the whopping number (1) of posts I found related to any of these problems :-/

      Still, they've been made public in an arena where they might actually do some good. Other than that, since the work is being done for my employer, they get the say in how patches get distributed (whether we give them away willy-nilly, or only IAW the strict GPL interpretation.) I'm going to approach them about supporting/archiving Cygwin-specific cross-compiler patches on a public portion of our company website.

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    33. Re:Performance is important by jelle · · Score: 2

      True, the GPL doesn't force you to make the patch very public. In fact AFAIK, when you use the patch only in-house, and the patched code or binary never leaves the office, you don't have to do anything.

      An OSS-related part of the official company website carrying such patches would be a big achievement. I would defitely give the company a positive edge for OSS-favoring people. Good luck pulling that off!

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
  14. Take over? I think not... by Christopher+B.+Brown · · Score: 5, Insightful
    • It's not free software.

    • The results do not involve

      geometric mean performance on multiple kernels compiled through it reached 47% improvement over GCC.


      The testing didn't involve compiling kernels at all.

      The 47% performance improvements were on a numerically intense benchmark program.

    • This helps users of PPC, Alpha, and StrongARM exactly how?



    The preferences of the article's authors is pretty clear:

    "Nonetheless, the magnitude of the performance differential in numerically intense applications is such that only the most dramatic sort of improvement in the long-awaited version 3 of the GNU C/C++ compiler will stay the hammer that drives a stake through the fibrillating heart of the aging technology behind the GNU C compiler. May it rest in peace."


    These are not the words of objective observers, and such comments strike me as being quite irresponsible.

    --
    If you're not part of the solution, you're part of the precipitate.
  15. This doesn't make sense by Anonymous Coward · · Score: 0

    Why in the hell would intel release a compiler that makes stuff run faster on their chips? I thought they wanted stuff to run slower so everyone had to buy faster processors.

    Oh, right, that whole 'competition in the marketplace' thing. Funny, that.

    1. Re:This doesn't make sense by Anonymous Coward · · Score: 0

      Actually, according to the article it speeds up stuff on the athlon as much as on intel chips.

      I guess intel just loves us all and wants to make us happy.

  16. A newbie question! by Anonymous Coward · · Score: 0

    By a 47% performace increase ove gcc does it mean the resulting binaries are faster or does it mean the compiler is faster?

    I kinda have a soft spot for gcc tho!

    1. Re:A newbie question! by Anonymous Coward · · Score: 0

      The resulting binaries are faster. Compilation time is generally irrelevant.

    2. Re:A newbie question! by Sunda666 · · Score: 1

      unless you are building mozilla from source, of course...

      --


      ``If a program can't rewrite its own code, what good is it?'' - Mel
  17. It probably is faster, but so what? by eXtro · · Score: 3, Interesting

    It's not terribly suprising that Intel can make a more efficient compiler than gcc. They've got a performance group who's sole job is to understand the architecture and how to best exploit it. I can't read the article (its not coming up presently), but its hard to compete against a free product for most users, especially in the linux community. For some users the increased performance will be very important, especially people who write applications that crunch numbers. I'm not talking about gimp filters or spread sheets, sure, they crunch numbers but most of their CPU time is spent either idle or on user input. Remember, on linux gcc is both free and everywhere, and it does a good enough job for most people. Most people run systems that just use precompiled packages, and these packages are often just target at generic i386 processors. If people don't even bother exploiting features that gcc already has, I don't see how you can predict that enough people are going to switch to another compiler to even measure on the radar.

    1. Re:It probably is faster, but so what? by Jacek+Poplawski · · Score: 1

      It's not terribly suprising that Intel can make a more efficient compiler than gcc.

      OK, but I read everywhere, that gcc is "very fast". It's important to admit, that it's not so fast as it could be.
      Are there any speed improvements in gcc3 for 386, pentium and k6 processors?

    2. Re:It probably is faster, but so what? by Anonymous Coward · · Score: 0

      Are you sure you're thinking of the right "very fast"? GCC is "very fast" at *compiling* C code[1]. Whether that compiled code executes quickly is another issue altogether.

      [1] It must be noted that it's really slow at C++ code, though, since it doesn't have any "preparsed header" functionality to speak of, and C++ headers, particularly the STL, tend to be horrendous to compile, unlike C headers.

  18. GCC: when was the article written? by rsidd · · Score: 2, Interesting
    I couldn't find a date on the article. But it says only a "dramatic improvement" in the "long-awaited" GCC 3 will change things...

    In fact GCC3 was out some time back and it seems typically (to me) to perform around 20% more slowly than Intel's thing (compared to 40% for older gcc, as the article says). It's not so bad, imo.

  19. Re:So is this another sign... by Anonymous Coward · · Score: 0

    Damn it AC, if you're going to post intelligent things like that, log in as a real user so I can add you to my friends list!

  20. Of course it generates faster code. by Anonymous Coward · · Score: 1, Insightful

    Intel compiler: it's highly optimized to generate
    intel architecture specific code. GCC is
    architecture independent. Surprise!
    Intel would love for people to compile Intel
    only.

    CPUs are so fast these days most people don't
    even bother to turn on optimization. Not
    worth the 2 seconds it takes to type "-O34".
    GCC support fortran and java too.

    If unix vendors hadn't started seperately
    charging for the "C" compiler, GCC would
    still be a research project. Screw it, give
    the free beer and free speech.

    1. Re:Of course it generates faster code. by Zeinfeld · · Score: 2
      CPUs are so fast these days most people don't even bother to turn on optimization. Not worth the 2 seconds it takes to type "-O34".

      A more likely reason for not turning on optimization would be not wanting to wait for the optimizer to run. Another good reason is that it is often harder to debug optimized code.

      At one time though the most frequent reason to avoid the optimizer was that many were buggy as heck and would introduce all kinds of bugs based on an imperfect understanding of how the program work. This was particularly the so with Fortran compilers where the derranged semantics of the language often bit the optimizer hard. It would also bite the programers on many occasions who would make use of common blocks that was outlawed under the Geneva convention.

      Intel has sold its compiler expertise for years. There is Intel code in most of the commercial compilers in use. I don't see why Intel should give code away to Microsoft to sell in Visual Studio.

      Equally, there is little point in having an internal optimization team that can't beat an external team with no advance knowledge of the processor architecture.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    2. Re:Of course it generates faster code. by Anonymous Coward · · Score: 0

      I don't see why Intel should give code away to Microsoft to sell in Visual Studio

      If Intel released its compiler under the GPL Microsoft would not be able to use it in Visual Studio. Unless they GPLed it as well (Not bloody likely.)

  21. why by glwtta · · Score: 2
    At this point, it?s also important to note that the Intel compiler on both platforms is a little more pedantic than the default settings for either the GNU or the Microsoft compilers. Marginal error conditions that are dismissed by the other compilers are reported as warning level issues by the Intel compiler.

    I don't get it - why is that important?

    But that's a minor issue, the important part is convinced - I am throwing my gcc out the window and paying half a grand for Intel C/C++... (somebody needs to come up with a damn "roll eyes" smiley)

    --
    sic transit gloria mundi
    1. Re:why by PigleT · · Score: 2

      Hmmm. Has anyone else noticed WatcomC++ considering going Open?

      Personally, I think open-source will only have arrived when there's a *choice* of equally good free compilers available, and I can use any of them to compile the linux kernel and netbse userspace together for my Psion. That's where the portability aspect really comes in - it's "theoretically possible" now with GCC, so come on intel, catch up!

      Oh, and the smiley you seek is i ._ ! _. i

      ;8)

      --
      ~Tim
      --
      .|` Clouds cross the black moonlight,
      Rushing on down to the circle of the turn
    2. Re:why by Anonymous Coward · · Score: 0

      That's why we use lint.

    3. Re:why by mccalli · · Score: 2
      "...the Intel compiler...is a little more pedantic than the default settings for either the GNU or the Microsoft compilers."

      I don't get it - why is that important?

      Warnings should never be swept under the carpet, they should always be dealt with. They have a habit of biting later on, particularly when switching between architectures.

      One thing I always hate about linking with many third-party libraries is the way they often require dubious casting which generates warnings. I like nice clean code, and I like my compilers to wear jackboots when dishing out warnings.

      Cheers,
      Ian

    4. Re:why by Anonymous Coward · · Score: 0
      "I like my compilers to wear jackboots when dishing out warnings."

      Heh, we can all guess what you like your gf to wear. :)

    5. Re:why by mamba-mamba · · Score: 1

      I like my compiler to warn about everything it can think of, too. Mostly because I hate debugging programs that don't work right. (I'm not a professional programmer, I just dabble.)

      Another thing occurs to me. If they are using gcc in default mode, then the comparison is unfair. They should be enabling optimizations.

      MM
      --

      --
      By including this sig, the copyright holders of this work or collection unreservedly place it in the public domain.
  22. Does this mean? by soulhuntre · · Score: 2, Insightful
    That maybe the Open Source model isn't the be all and end all? Remember in the old days, when everyone believed that if you took the money out of programming somehow you magically got software that was faster/better/more innovative and bug free? Not. I think Open Source is doing a good job with what they are working on - but this cult like mentality has to go. of course, the most important thing to most people is really the "free" (beer) part. You mean they will give me stuff for free and feed me a philosophy that lets me pirate everything else I want in the name of "freedom"? WOW! SIGN ME UP! But after the glow fades:
    • GCC isn't the worlds best compiler
    • Linux not only crashes and has bugs, but some of them are caused by ego clashing and political tension... AND there are zealots who will try and cover them up.
    • Mozilla (the shining jewel of Open Source) is years late and many dollars short of beating IE.
    • Loki is dead and so goes the myht that Linux is a market that is large and willing to buy. They listened to the Linux zealots and got screwed.
    • Slashdot is squelching topics and moderators are abusing their power - so there goes the myth of the open minds of the Open Source community. The dream is gone and good riddance.
    In the end, I like and support the Open Source world... I think amazing things have happened... But your much better off when you realize it is simply another dynamic - it is not the best one and it certainly isn't the only one. Fight tyranny and repression.... read /. at -1!
    --
    --> Fight tyranny and repression.... read /. at -1!
    1. Re:Does this mean? by glwtta · · Score: 4, Informative
      Since when is Mozilla the shining jewerl of OS? Just curious.

      I'd agree with the gist of what you are saying, but some of your bullet items are just oversimplified, overstated bollocks.

      --
      sic transit gloria mundi
    2. Re:Does this mean? by GypC · · Score: 4, Insightful

      Awww, did you get your widdle bubble burst?

      • No one ever said anything about taking the money out of programming. I'm sure Red Hat programmers enjoy a decent salary. Much of Free software is hobby work, done for love.
      • Most of the true believers in Free software do not condone piracy at all. That would be your typical Windows user or Slashdot bigmouth you're thinking of.
      • GCC probably is the world's best compiler if you put correctness and platform independence ahead of speed.
      • Any OS crashes, building a stable system is a system administration skill. There are extremely stable combinations available.
      • Mozilla already rocks all over IE, IMNSHO.
      • Most businesses fail in the first couple years, especially in the current recession.
      • Slashdot does not represent any community but its own.

      Your bitterness is unbecoming. Slamming the good work of people in the Linux, Mozilla, and GCC projects because of your sudden realization that all of your juvenile misapprehensions are not 100% correct is a mark of poor character.

    3. Re:Does this mean? by subsolar2 · · Score: 0, Offtopic
      I wish the moderators would not mod up comments that basically say "I'll get modded down for this" and so the moderators mod it up.


      I'm really sick of it!!


      None of this is a big secret and not terribly insightful at all.


      - subsolar


      subsolar - brigning stupid comments to slashdot for way too long.

    4. Re:Does this mean? by Anonymous Coward · · Score: 0

      Mozilla isn't a shining jewel of anything, but it was sure supposed to be. Actually it's a large, dull brown nugget of turd. And it seems that the only thing that is bollocks is Open Source. How could anyone have imagined that allowing any random fool to change a code base could result in better code than that produced by a team of professionals dedicated to just that project is beyond belief.

      (Your quote would be more interesting if Kevin Smith wasn't such an undergraduate cocksucker.)

    5. Re:Does this mean? by Chanc_Gorkon · · Score: 5, Insightful

      While I will agree with some of the infighting bullcrap,I disagree with your bullets.

      Sure GCC may not be the best compiler on the face of god's green earth, but to me, if I was running a project with tight money constraints, and I had to choose between a $499 and a $0 dollar compiler and the only reason was the expensive one was faster, unless I absolutly had a better reason for paying the $499, I would have to choose gcc. For one, gcc is well known, in common use, and everything works pretty well on it. I am not saying it doesn't have it's caveats, but to me, compile speed means diddly. Personally, I would rather take the slow one because it gives me more time to drink my coffee while waiting on a compile! :) Well, no, I would rather have the fast one, but I am a poor married man with a kid and have no money to wast on a compiler when I can get one for free.

      Yeah Linux crashes....so does Windows, Solaris, FreeBSD, OpenBSD, z/OS, DOS/VSE, BeOS, Windows CE, PocketPC, Palmos..........get what I am getting at? And so far as covering these crashes up, I JUST don't see this happen, at least from the Linux realm. Oh and anyone trying to contradict what I am saying about other OS's crashing needs to be smacked in the head with a massive Clue stick. There has almsot never and probably never will be a uncrashable os. There has almost never been a completely bug free piece of code. Sure, some others in the list are better and crash MUCH less then windows (Linux fer sure as well as about 90 percent of the list), but to say that people are tying to cover Linux crashes up is BS!

      Mozilla not delivering? Where the heck have you been? Mozilla, as of late, is TON's better then it was. And with the earlier post that Mozilla will also support anti-aliased text, well, besides Konqueror, I see noone else that competes and surely not that bug ridden, crash pron piece of filth called Netscape 6 (or 4.78 for that matter....). I know it's been updated since 6.0 came out, but heck it was based on a sub point 1 release of Mozilla and even Mozilla was better then Netscape 6 when 6 came out! Plus there's that AOL/Time Warner FILLED bookmark list that installs with it and ...well, people should just download Mozilla and fergeddabout Netscape. I am not saying this because I am a Open Source Zealot (because I ain't). Mozilla is doing good and who gives a rat's rearend if it was late. I personally don't care if crap is late....I care if it works. Case in point, one could say the rewrite of Enlightenment is late, but I just think that raster and mandrake (if he even works on e anymore) are trying to make E the best GUI they can by not only making it a GUI but a shell as well.

      Loki is dead. Long live Linux. Listen, most people are not like us. They use their computers as tools and not gaming machines. Joe sixpack will ask if it's being made for PS/2 not for the PC. Now that's not to sayt gaming on Linux isn't important. It is, but just because Loki has died doesn't mean their won't ever be games on Linux, commerical or free. There are lots of great free games for Linux. Armegatron, GLTron, Tux Racer, Rocks and Diamonds, Maelstrom and the list goes on. Sure, they might not be a 3d shooter, but then there's Quake for that. Also, the time is ripe for a new gaming shift. MMPORPG and 3d Shooter cookie cutter games can only last so long before something, anything comes to take it's place. Right now is the time for a truly innovative game to come out and steal the show. Oh and Wolfenstien and Doom 4 won't be it...they'll just be another 3d shooter.

      Slashdot is censoring.....well, I doubt it. They aren't censoring. I can post anything I want under each new topic. If your talking about story submittals, well, when you are on the other end getting all of the submissions and a vast number are either duplicate, trolls or worse, well, then you start to develop a finely tuned BS detector that sometimes can be faulty. You can usually filter out most BS but sometimes some falls through and get's posted. Rob, Jeff, Chris and Neal are human you know.

      --

      Gorkman

    6. Re:Does this mean? by LinuxParanoid · · Score: 4, Insightful
      Look, if you want to condemn the "cult-like" mentality, stop perpetuating it. Specifically by avoiding broad unsubstantiated claims taking on the tone of religious fervor.

      Like "GCC isn't the worlds best" (best at what, pray tell? speed? ubiquity? price? portability?)

      Like "everyone believed that if you took the money out of programming somehow you magically got software that was faster/better/more innovative" (like those Open Source guys who said it was OK to make money?)

      Like "give me stuff for free and feed me a philosophy that lets me pirate everything" (conflating piracy with free software, not recognizing the legitimate desires of people to legally have more control of what they get, and legally paying less?)

      Open source is not a panacea. It's a way of licensing technology whose strengths and weaknesses will be more and more recongized over time, but whose pre-eminent virtue of providing greater freedom will offer increasing benefits as software monopolies continue to increase their control and prices so that they can keep their share price going up.

      Open Source also has one other long-term, difficult to refute benefit. The fact that Microsoft can't forever grow the software market and must illegally leverage its way into adjacent communications markets (MSN, VoIP), media markets (Slate, Corbis) and consumer services markets (Expedia) is still mostly being glossed over as premature. But it is not being ignored.

      --LinuxParanoid, who doesn't think these Linux guys are paranoid enough... ;)

    7. Re:Does this mean? by wytcld · · Score: 5, Informative
      GCC isn't the worlds best compiler
      As a sysadmin who often compiles packages, but doesn't write them, all I care is that ./configure;make;make install produces the desired results. Since I'm always multitasking anyhow over several machines, what do I care if a different compiler would make a 5 minute compile 4 minutes, if the end result - as it is with gcc - is a program that runs and runs well.

      Mozilla (the shining jewel of Open Source)
      BS. Konqueror is better, and KDE and Gnome the shining jewels, after Apache of course. (Sendmail? Bind? Proftpd? PHP? - not jewels perhaps, but great workhorses.)

      Loki ... listened to the Linux zealots and got screwed
      So sad, Linux may never be primary platform for gaming. I could care. And my Toyota will never enter the Indy 500.

      Slashdot ... dream is gone and good riddance.
      If you don't like the moderation, set up your own board and invite in only folks you agree with. /. works for me - what gets modded up is generally what I end up agreeing is most worth reading.

      --
      "with their freedom lost all virtue lose" - Milton
    8. Re:Does this mean? by glwtta · · Score: 1
      (Your quote would be more interesting if Kevin Smith wasn't such an undergraduate cocksucker.)

      Pretend I said it then.

      --
      sic transit gloria mundi
    9. Re:Does this mean? by subsolar2 · · Score: 1

      GCC isn't the worlds best compiler

      Modify that to comment to worlds best compiler for the intel platform and I would agree with the flame bait. Intel has been working for decades to optimize their compiler for their processor so of course it is probably the best one for their achitecture. GCC's strength is that is will generate good code for dozens of different procs.

      Linux not only crashes and has bugs, but some of them are caused by ego clashing and political tension... AND there are zealots who will try and cover them up.

      Nope, Linux is not perfect, neither is W2K or XP from MS or IRIX, AIX, HP-UX, or Solaris. No OS is perfect, but I or anybody else can take Linux and make of it what we want, and that is Unique. You can take Linux and strip it down to it's bare essentials for PDA/Embedded use or bulk it up for mid-range multi-proc servers. Linux is not perfect, but it's FREE and it works as good as any commercial solutions.

      Mozilla (the shining jewel of Open Source) is years late and many dollars short of beating IE.

      I've never worked on a commercial software project that went over time or budget in my life ... YEAH RIGHT. Few commercial project that I've been involved in or know of have come in under budget and on time. Win XP is over a year late ... MS was saying it would be ready "a couple months after 2k" .... that was a pretty long couple months.

      Fight tyranny and repression.... read /. at -1!

      Pure flame bait ... I don't bother moderating down comments, fankly though there are few worth moderating up.


      - subsolar


      subsolar - briging stupid comments to slashdot for far too long.

    10. Re:Does this mean? by Anonymous Coward · · Score: 0
      Most of the true believers in Free software do not condone piracy at all. That would be your typical Windows user or Slashdot bigmouth you're thinking of.

      And I quote:

      As a computer user today, you may find yourself using a proprietary (18k characters) program. If your friend asks to make a copy, it would be wrong to refuse.

      Mozilla already rocks all over IE, IMNSHO.

      I'm sorry you're stuck with a Go Bot mind in a Transformer world.

    11. Re:Does this mean? by Anonymous Coward · · Score: 0

      > As a sysadmin who often compiles packages, but doesn't write them, all I care is that ./configure;make;make install produces the desired results.

      While you don't really need to care about what compiler you're using, you should still care about what compiler the developer is using. GNU has put a ton of non-standard extensions into their C compiler. If you ever hit a compiler bug on your machine, you won't be able to make things work without some serious pain. At best you'll get away with having to find what libc and gcc version the author used, install those in parallel to your versions, and edit the autoconf output.

    12. Re:Does this mean? by _johnnyc · · Score: 1

      "GCC isn't the worlds best compiler "

      Who said it was?

      "Linux not only crashes and has bugs, but some of them are caused by ego clashing and political tension... AND there are zealots who will try and cover them up."

      Have you ever worked in the real world? There are diasgreements, political tension, ego clashing, and zealots. Open source projects are no different than other projects in any field in any company. People are people, and whenever you have a large group of people working together on a large project, there will be problems. So Linux or any other open source project will be subject to the same problems.

      "Mozilla (the shining jewel of Open Source) is years late and many dollars short of beating IE."

      But at least we have a browser "market" now. And Mozilla has come a long way in the past year. I use Konqueror and Mozilla and the only area where IE beats it is in sites "optimized" for IE. Mozilla and Konqueror are at least as good as IE on non-IE optimized sites.

      "Loki is dead and so goes the myht that Linux is a market that is large and willing to buy. They listened to the Linux zealots and got screwed."

      OK, so that must mean what exactly? It only means that the gaming market is difficult to make money from when developing on a non-Windows platform. They tried and failed. I guess you figure that if Loki can't make a profit from selling games, then Linux must suck. There are many more markets out there.

      "Slashdot is squelching topics and moderators are abusing their power - so there goes the myth of the open minds of the Open Source community. The dream is gone and good riddance."

      Really, I'd say if you feel that way why bother showing up? What dream? The open source community is not about open minds (though there probably are many of them), it's about open source software. Nothing else. It's no different than any other community. Some have closed minds, some have open minds. The "myth of the open minds of the Open Source community" probably exists in your mind. Anyone with a little bit of world experience knows that there are closed minds everywhere and in every community.

      "But your much better off when you realize it is simply another dynamic - it is not the best one and it certainly isn't the only one.Fight tyranny and repression.... read /. at -1!"

      How about fighting real "tyranny and repression"? Really...

    13. Re:Does this mean? by Anonymous Coward · · Score: 0

      Biting here, but the turd that is Mozilla was actually produced by the so-called professionals over at Netscape. The scandal is that Open Source didn't help them a bit, it just filled up their bugbase with feature requests.

    14. Re:Does this mean? by Score+Whore · · Score: 2, Insightful
      ./configure;make;make install


      Just out of curiousity, if that's your normal installation procedure, why do you care if you have the source at all? Yes, it's partially true, that the source being available leads to people in the community fixing bugs (sometimes), but you apparently do not (not a knock, just an observation.) So why go to the trouble of downloading source, and building yourself? Binaries would suit you fine.

      ...after Apache of course. (Sendmail? Bind? Proftpd? PHP? - not jewels perhaps, but great workhorses.)


      Ironic, isn't it, that the real software that makes the internet go aren't GPLed, but instead released under the BSD license. It's also interesting how many notable GPLed packages are half done, whereas many BSD license packages seem more complete. Like the programmers involved have a better work ethic.
    15. Re:Does this mean? by sebol · · Score: 1

      Talking about mozilla, (hopefully not offtopic)

      Mozilla guy can make a piece of code that can be compiled using gcc AND MSVC+

      so it's not imposible to make it can be compiled by intel's compiler.

      the dependecy issue will not arise, we can still compile it using gcc.

      --
      -- Hasbullah bin Pit (sebol)
    16. Re:Does this mean? by Anonymous Coward · · Score: 0
      • There has almost never been a completely bug free piece of code.


      I once wrote a brilliant Hello World program that was bug free.
      I'm going to recompile it with icc.
    17. Re:Does this mean? by Anonymous Coward · · Score: 0

      Let the moderation of this post stand as a shining monument to the groupthink circle-jerk that is Slashdot today.

      There is not one statement in this post that is demonstrably wrong, yet it gets slammed by moderators who couldn't bear to see their beloved Open Source exposed for the dead end it is. Hopefully meta-moderation will take care of them, but I doubt it very much. "Troll" my flaming arse.

      "Slashdot is squelching topics and moderators are abusing their power - so there goes the myth of the open minds of the Open Source community. The dream is gone and good riddance."

    18. Re:Does this mean? by Cybertect · · Score: 1

      Why compile if you're not fixing bugs?

      For myself, as a user of Linux & Mac OS X on PPC, I often need to compile from source simply because precompiled binaries aren't available for my chosen platform(s).

    19. Re:Does this mean? by eschasi · · Score: 1
      ...if that's your normal installation procedure, why do you care if you have source at all?

      For him, yeah, that example shows nothing about the utility of having open source. But my normal installation procedure (and the one he probably actually uses) is a bit different:

      % ./configure switches && make
      . . . test . . .
      % su
      # make install

      Should any of those step fail and should I determine that the problem lies in the package, I can fix it.

      Aside from that, yeah, most folks just grab the RPMs and don't actually give a shit so long as they don't have to shell out dollars.

    20. Re:Does this mean? by kleinux · · Score: 1

      What?!?!?!!? You try to say that a project with a tight budget cannot afford $499 for a compiler but it can afford to pay employees to sit and wait for code to compile? This makes no sense at all. You can use the same compiler for several projects after buying it once, but for each project you are paying your employees to write code. To me giving an employee a relatively cheap way to improve productivity is the best way to help a low budget project.

    21. Re:Does this mean? by Anonymous Coward · · Score: 0

      Actually although your Toyota won't be racing in the Indy 500, Toyota will have an Engine in the IRL next year.

    22. Re:Does this mean? by istartedi · · Score: 2

      if I was running a project with tight money constraints, and I had to choose between a $499 and a $0 dollar compiler and the only reason was the expensive one was faster, unless I absolutly had a better reason for paying the $499, I would have to choose gcc.

      Exactly. It depends on the project.

      Scenario 1: Project runs client-side and is an interactive windowed application. It interacts with a remote database and is therefore "network bound". In this case, the app might as well be written Java and run by the JVM. It isn't going to make a difference. Use gcc.

      Scenario 2: Project runs server-side and performs enhanced rendering functions and post-processing of global weather data. The contract initially called for 5 loaded racks that are going to cost $30,000 each and require modifications to the HVAC system so the boxes can run properly. Your analysis indicates that a 20% speed-up will allow you to go with 4 racks and avoid modifying the HVAC system, resulting in a total cost savings of $35,000 for the company. Use Intel.

      A more tricky scenario is when the project starts out small and expands or changes environments. In that case I'd start with gcc, but ask myself every few weeks whether or not a speedup would help; especially if new hardware purchases were being considered.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    23. Re:Does this mean? by Chanc_Gorkon · · Score: 2

      Wel, if it was R ....E....A....L...L...Y SLOOOOOW, well, then yeah I would probably pay the bucks. That didn't happen here. Here, it's a MARGINAL comparison and they did not even specify what kernel they were compiling did they? Ok, a 47% increase (that's what is reported).....if gcc took one minute to compile a program, and icc is 47 percent faster at a compile then it would compile the same program in about 30 seconds. Yeah that's faster, but on today's hardware does it really matter? What's the big deal if an employee sits for another 30 seconds? Besides, the best time to compile is when you need to get up and take a break. gcc allows programmers to get mroe rest ;).

      You'd be surprised where the important things are. I have seen obscene amounts of money being spent on things like hardware, and piddly raises being given out and vice a versa. It all depends on where a companies priorities are at.

      --

      Gorkman

    24. Re:Does this mean? by Anonymous Coward · · Score: 0

      And a Linux kernel could easily be at the heart of some arcade box, or massive e-commerce system, or NASA project... and I still wouldn't give a rat's ass.

    25. Re:Does this mean? by ghostie · · Score: 1

      Replies to the bullet points I don't agree with ...

      Most of the true believers in Free software do not condone piracy at all. That would be your typical Windows user or Slashdot bigmouth you're thinking of.

      Agreed - but that is not what is promoted on many open source advocacy sites.

      GCC probably is the world's best compiler if you put correctness and platform independence ahead of speed.

      Any compiler is probably the world's best if you minimise the criteria to the two things it does best.

      Any OS crashes, building a stable system is a system administration skill. There are extremely stable combinations available.

      And how does this not apply to Windows based systems? Linux system crashes - The administrator doesn't know what they are doing. Windows system crashes - Shitty Microsoft software. Please - be objective here.

      Mozilla already rocks all over IE, IMNSHO.

      Please give some reasons for this? And why is your opinion not so humble? In my experience (humble or not) Mozilla is typical beta level software. Has some great ideas but tends to crash on some simple things - or not display things as you would expect a browser to do - if as you would expect a browser to do is biased by IE behaviour is irrelevent, that's what the majority of web surfers expect.

      Most businesses fail in the first couple years, especially in the current recession.

      ... especially if they do not have a clearly thought out business plan. Reason for using Linux - 1/ Cheap (means that that group don't have much money or don't like spending money), 2/ Free - speech or beer, take your pick (means that those users don't beleive in or want to pay money for software). Neither is a group is is about to shell out $100 for a game. Loki failed because it targetted the wrong market - not because of the recession. If the recession wasn't happening they may have dragged on another few years on VC input alone but they still would have failed.

      Your bitterness is unbecoming. Slamming the good work of people in the Linux, Mozilla, and GCC projects because of your sudden realization that all of your juvenile misapprehensions are not 100% correct is a mark of poor character.

      And to paraphrase right back at you ..

      Your optimism is unbecoming. Blindly defending the good work of people in the Linux, Mozilla, and GCC projects because of your sudden realization that all of your juvenile misapprehensions are not 100% correct is a mark of poor character.

      Open source is not the silver bullet of software. Software is not bad because it comes from a commercial entity that desires to make money (Ummm .. capitalism anyone?).

      Visit reality occasionally - you may be surprised.

  23. Given it doesn't seem to run on FreeBSD by Anonymous Coward · · Score: 0

    Who cares.

    It seems it doesn't run on AIX, Solaris, or in other locations either.

    If they want to 'take on GCC', they have to run were GCC runs. Otherwise, what will keep happening is if people want/need more speed, they'll buy a new processor.

    Non-event, nothing to see here, move along.

    1. Re:Given it doesn't seem to run on FreeBSD by Lao-Tzu · · Score: 1
      Otherwise, what will keep happening is if people want/need more speed, they'll buy a new processor.

      Yeah. That would be terrible. Why would Intel want that? :-)

  24. Ask AMD to contribute! by Anonymous Coward · · Score: 0

    What about asking AMD to contribute and develop a blindingly fast GCC optimizer for AMD processors?!

    1. Re:Ask AMD to contribute! by Anonymous Coward · · Score: 0

      Why should they? -- AMD just uses the Intel compiler and they get very good results on their CPUs (which are designed to run existing P6 optimized code very fast).

    2. Re:Ask AMD to contribute! by Anonymous Coward · · Score: 0
      Did you read the article?

      The Intel compiler generated code ran on AMD about as fast as the GCC generated code. The 47% performance gain was obtained only on genuine Intel CPUs.

    3. Re:Ask AMD to contribute! by Anonymous Coward · · Score: 0

      Perhaps that article glazed over it, but icc produces about 25% faster code on Athlons.

    4. Re:Ask AMD to contribute! by Principal+Skinner · · Score: 1
      You read that wrong. The very last line of the article says:
      When we ran the Intel-compiled version of OBLcpu on the Athlon-powered system the percent improvement [emphpasis mine] was virtually identical to the results run on the Omnibook.

      IOW, icc-compiled code works damn well on AMD chips as well.
      --
      one hundred twenty
      is just enough characters
      to write a haiku
  25. Re:The end of gcc 'cause intel's compiler is faste by nusuth · · Score: 5, Insightful

    Gcc's speed sucks because of its fundemental design focus on supporting as many languages as possible and being avaliable on as many platforms as possible instead of optimizing for a particular language on a particular platform. Although code generator of gcc can use a lot of improvement, its speed can't be taken to levels possible with tailored compilers. If an open source alternative that can beat intel's compiler comes along, it won't be based on gcc.

    --

    Gentlemen, you can't fight in here, this is the War Room!

  26. Speed is everything?.... by StarBar · · Score: 3, Interesting

    I once worked in a company making compilers for embedded systems, and debuggers. At one point we were outperformed by a 3-400% compared to a competitor. 6 months later we were twice as fast as they were for that specific benchmark. I wonder how many customers actually used that for something useful? The hard part is actually debugging and portability. And for speed I would say that a profiler can make miracles finding the hotspots needing optimizations. Just hand optimize those spots and you are doing fine with your favourite tools.

    Also with optimizations follows compiler bugs (i.e. the compiler generates faulty code) that are very hard to find especially if you don't have the source to your compiler.

    Finally I think Intel just want to capture customers as thet did with their compilers in the early 90:s (ie PLM and Intel C) It's just not in their interest to be portable. With all this in mind such compilers could be good for a specific project but I'd be careful to build anything on highly optimizing compilers in general and not on a sound design.

    1. Re:Speed is everything?.... by Anonymous Coward · · Score: 0

      But I don't want to hand optimize.

    2. Re:Speed is everything?.... by StarBar · · Score: 1

      Well, that is a philosophical question weather the compiler should compensate for a programmers lack of talent or not. In my opinion you should never expect stuff that comes out from a compiler to be better than what went in to it. Still many compilers tries to do that leaving programmers with lack of talent unknown of that. These people never develop their highlevel language skills and are always very dependant on their tools. Good luck!

    3. Re:Speed is everything?.... by Anonymous Coward · · Score: 0

      Amen to that.

  27. gcc is more than a compiler by Knos · · Score: 2, Informative

    Architecture dedicated compilers may well be faster, but gcc's performance has already reached a 'good enough' stage.

    What's more important is that gcc provides features that are absent from all the other compilers: gcc works virtually on any architecture, and offers a stable (in its functions) platform, and an unique interface to low-level features (such as building calls dynamically) as well as very good extensions. It demonstrates how free software can offer a standard, and not be affraid of 'innovating.'

    so, intel/dell/sun's compilers may have their place, but they don't play in the same category
    as gcc. They're useful for dedicated performance apps, or things like games.

    --
    . . . . . . . .. . . . . . . .
    may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
    1. Re:gcc is more than a compiler by Knos · · Score: 1

      ...

      s/dell/dec of course

      --
      . . . . . . . .. . . . . . . .
      may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
    2. Re:gcc is more than a compiler by destach · · Score: 1

      "gcc works virtually on any architecture"

      Any architecture? Yes. Any operating system? Hmmm.. I don't count Cygwin as an acceptable solution to bringing GCC to Windows. DJGPP was a step in the right direction, but is archaic now. MingW32, well.. don't get me started. When GCC natively supports Windows, i've a feeling that a lot more people will jump on the GCC bandwagon. After all, the thing that stops most people from making their first steps into the world of programming is "Where do I begin?". Wouldn't it be nice to simply say, "Get GCC. Read free books on http://www.informit.com. Nuff' said."

      --
      Lead, follow, or get off the f*ckin' road.
    3. Re:gcc is more than a compiler by Score+Whore · · Score: 1

      Actually, I think what you are seeing is that the CPUs are "good enough" so that the compiler don't have to be. And it is a matter of "good enough". If CPUs were only one tenth the speed that they are, that 10%, or 15%, or even 5%, speed difference would be sufficient to cause an outcry and result in changes.

    4. Re:gcc is more than a compiler by Anonymous Coward · · Score: 0

      What's wrong with MinGW? It's always worked fine for me.

    5. Re:gcc is more than a compiler by ahde · · Score: 1

      gcc doesn't natively support gnome, or kde, or even bash either. if you don't include the right libraries, it won't compile. WIN32 DLLs are not ansi compliant, and they aren't open source, so unless microsoft builds against GCC, you can't access the windows APIs-- for c++ name mangling if no other reason.

    6. Re:gcc is more than a compiler by Anonymous Coward · · Score: 0

      Ummmm.... The Win32 API is C, not C++. MFC (the C++ part) is compiled into the program - it's functions are not exported through DLLs.

      I HAVE done Windows programming with GCC. Checkout www.bloodshed.net

    7. Re:gcc is more than a compiler by Anonymous Coward · · Score: 0

      FYI, Microsoft ships a supported version of GCC with their Interix product.

  28. Oh yeah by Anonymous Coward · · Score: 0

    I'll be selling my G3 so I can buy an Intel machine and pay $500 for a compiler (or $1000 if I want it for windows, too) whose somewhat impressive numbers come against an old version of gcc and with limited types of testing done. Yep.

  29. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    Points 2 and 4 are well taken, but --

    This helps users of PPC, Alpha, and StrongARM exactly how?

    Do we really need this sort of trolling on a story on the Intel compiler, Cap'n Obvious? Maybe you could tell us how the Compaq Alpha compiler helps Intel users?

  30. You aren't allowed to read that article by Anonymous Coward · · Score: 0

    Hey, according to the open-mag front page
    the compiler article is for subscribers only (snicker).

  31. What GCC version? by archnerd · · Score: 1

    I'm guessing they used 2.95.3 because that's what comes with SuSE 7.3. 3.x still has some major issues and isn't suitable for most systems, but it uses garbage collection so it's _much_ faster. I'd like to see the results then.

    1. Re:What GCC version? by Progoth · · Score: 1
      I'm guessing they used 2.95.3 because that's what comes with SuSE 7.3. 3.x still has some major issues and isn't suitable for most systems, but it uses garbage collection so it's _much_ faster. I'd like to see the results then.

      ok I'm confused....why would a c/c++ compiler have garbage collection? and, um, doesn't garbage collection make a language slower??

      I was about to say this guy knows exactly zero on this topic...but I clicked his page link....and apparently he knows C. so now I'm doubly confused...

    2. Re:What GCC version? by archnerd · · Score: 1

      I've tried out gcc 3.x and it's MUCH faster, buggy as it is. Garbage collection is just a buzzword I picked up from gcc.gnu.org and is their explanation for 3.x's speed.

  32. gcc is "good enough" by Jason+Earl · · Score: 5, Insightful

    I am sure that Intel's compiler is better than gcc at crunching numbers, in fact, it's probably signficantly better. But my guess is that for most folks gcc is "good enough" at a much lower price.

    The commercial compiler companies have been trying to rid the world of gcc for quite some time now, and yet, come the close of the day it's the commercial companies that are getting closed down or bought out, and it's gcc that continues to gain users.

    Now, if Intel were to allow you to use their compiler for free (even without source code) for commercial purposes, then perhaps I would start to worry about the future of gcc. But that isn't going to happen, and gcc will continue to chug right along.

    1. Re:gcc is "good enough" by tomstdenis · · Score: 2, Informative

      "Now, if Intel were to allow you to use their compiler for free (even without source code) for commercial purposes, then perhaps I would start to worry about the future of gcc. But that isn't going to happen, and gcc will continue to chug right along."

      I'd say since there has been alot of time invested in GCC [and its vastly more portable], if the Intel compiler was made open source the GCC dudes would just try to merge the intel optimizations in.

      Keep in mind that GCC doesn't just compile for x86 processors [its only intel that does]. So even if Intel releases their compiler for free [open source style] that still won't kill GCC.

      Tom

      --
      Someday, I'll have a real sig.
    2. Re:gcc is "good enough" by Flower · · Score: 2

      Won't happen. I remember seeing an interview with a gcc developer and noting that some platform optimizations can't go into gcc due to patent issues. Been looking for it to cite but haven't found it yet.

      --
      I don't want knowledge. I want certainty. - Law, David Bowie
    3. Re:gcc is "good enough" by tomstdenis · · Score: 1

      If intel releases there optimizer design for free use, I'd bet the GCC developers would jump at it.

      Anyways, in general people should stop bitching. GCC is a very good, stable, portable compiler given that its *entirely* free.

      --
      Someday, I'll have a real sig.
  33. Re:So is this another sign... by Cheesy+Fool · · Score: 0

    Score -1, redundant

    Umm, we already know all this.

    --

    Hail to the king, baby!
  34. What is with the library? by mvpll · · Score: 1

    So I download the binaries, and the Intel version gets it's own dynamic libary...is that the part Intel hand crafted for speed, or did the compiler decide to create that all by itself?

  35. Re:The end of gcc 'cause intel's compiler is faste by Ace+Rimmer · · Score: 5, Insightful
    Exactly, there is something missing in the article
    • The Intel's compiler does not support anything else but x86. (gcc works much more generally) - this is an advantage for Intel's compiler since they don't have to mess up with improvements which would break the result on another CPU arch.
    • They ran synthetic benchmarks which are often misleading (i I took gunzip as a part of my test only a slight modificiations of 3 instructions within the main loop would certainly give me very different results)
    • What gcc version did they measure? GCC 3.x (which they obviously haven't used) has at least 10% performance boost than old 2.95 on average (it may differ a lot for specialized tasks)

    This sound somewhat like a bit biased comparison - even though I think that Intel's compiler is indeed better in x86 optimization - most of gcc developers would confirm this...
    --

    :wq

  36. I talked with them about this... by fireboy1919 · · Score: 5, Interesting

    ...at a conference I went to on computer vision. You see, intel also has an optimized computer vision library. They began their talk for the day with the statement "Intel is in the business of selling chips. However, everyone already has enough processor power to do word processing and that sort of thing. We need people to make more complicated applications so that it make these faster chis we come out with worthwhile."
    I imagine that similar logic applies to their compiler: they give it away for free (binary version, so they can control it), but build in the hooks that make it work faster with their newer chips than with the competitions' while at the same time encouraging people to write more CPU intensive programs because they have the power to do so.
    Ultimately, they succeed at their real goal: to sell more chips. By the way, AFAIK, Intel still gives away its compiler in binary form, though only for Windows. Of course, the last time I checked was a year and a half ago...

    --
    Mod me down and I will become more powerful than you can possibly imagine!
    1. Re:I talked with them about this... by fireboy1919 · · Score: 1

      I stand corrected. It seems Intel is charging for their compiler now. Plus, it works similarly on Athlons. Strange company practice, shooting themselves in the foot like that.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    2. Re:I talked with them about this... by nusuth · · Score: 2, Interesting
      It seems Intel is charging for their compiler now

      Linux version is free for non-commercial use.

      Plus, it works similarly on Athlons

      Athlons benefit from better alignment, better scheduling, better cache utilisation, SSE & MMX use, vectoring of intel's compiler compared to MSVC compiler. When it is compared with gcc produced code, there are also benefits of better register utilisation and scheulding (MSVC scheulding is OK, gcc's is awful.) The reason intel's compiler can produce better code on a non-target processor (athlon) is that intel p3 architecture and athlon architecture is more similar to each other than they are to original pentium pro, which is the target processor for MSVC 6.x, or pentium (target for egcs, later merged into gcc.)

      --

      Gentlemen, you can't fight in here, this is the War Room!

    3. Re:I talked with them about this... by maaleron · · Score: 2, Insightful
      I think that's kind of a paranoid attitude.

      Intel is a business, and for them to succeed they need to sell their product. They're right in saying that they need to have people create applications which require more processing power. How does this harm you ? Unless all you need is to run Word, chanes are one of these apps may interest/benefit you. They've developed a compiler which is optimized for their product. How does this harm you ? They know their architecture better than anyone else, so I would expect them to release an optimized compiler. Nothing is stopping AMD or anyone else from doing the same for the Athlon. If it's free, nothings stopping you from using both.

      Ultimately they succeed at their real goal: to make money. As a side effect, you get better apps, more powerful procesors and an optimized compiler. Damned capitalists

    4. Re:I talked with them about this... by Anonymous Coward · · Score: 0

      OK, they want to encourage people to use the power of their new chips. Fine.

      Where is the point in giving out a compiler that uses hidden power of older chips ?

      E.g. you have a 1GHz P3 and your app needed 20% more then you could buy a 1.2GHz CPU or use the better compiler which is free.

      Or is the idea to say "OK our chips aren't actually faster with generally available compilers but if you buy our CPUs then you get an especially optimized compiler as bonus, which you couldnt get for the bad boy's silicon."

      I'd be pretty happy if people use compilers which are crappy but equally crappy on every chip.

      call me capitalist rat ;-)

    5. Re:I talked with them about this... by Anonymous Coward · · Score: 0
      I think that's kind of a paranoid attitude.

      Don't forget who it was that said 'only the paranoid survive'.

    6. Re:I talked with them about this... by Anonymous Coward · · Score: 0
      Well, since gcc has been known to generate code like: "movl %eax,%eax" (for those who don't understand assembly, move register eax into register eax -- a particularily slow no-op). The instruction serves no purpose, isn't used for alignment, and actually executes SLOWLY on most x86 CPUs (compared to NOP)

      I can only guess that GCC wasn't really designed to work with anything so limited as x86, and might actually do a better job on a CPU with more registers that it could juggle around.

  37. Well... by Krapangor · · Score: 2, Informative

    ...the gcc isn't the most 31337 compiler out there. I've seen the gcc slowing down programs on a Atlon 800 MHz down to the performance of a 400 Pentium III (II ?) (scientific apps).
    But isn't the main strength of the gcc it's crosscompiling abilities ? Never heard of any compiler supporting so much platforms.

    --
    Owner of a Mensa membership card.
    1. Re:Well... by egreB · · Score: 1

      But isn't the main strength of the gcc it's crosscompiling abilities ? Never heard of any compiler supporting so much platforms.
      I agree. I give up pretty much speed to get cross-compiling. After all, compiling (kernels) is something you do at night (-8

      Love your .sig, BTW (-8

    2. Re:Well... by ghutchis · · Score: 1

      But I've also seen a pile of scientific apps miscompile on Intel or Portland Group compilers. Yes, I like 30% performance improvements on my calculations. No I do not like it when I get incorrect numbers because someone introduced some compiler bugs in those optimizations.



      I'm pretty happy to see GCC's compiler test suite and public results INCLUDING performance regressions. I think GCC's working hard to be the most bug-free compiler out there. And yes, they are working on improving performance.

  38. Speed costs money by Anonymous Coward · · Score: 0

    If you want to drive fast, you have to spend money, if you want fast optimized code, you have to spend money.

    Free is good, but as KDE is demonstrating, the free software community is having severe performance isssues when developing large scale desktop apps. Same goes for Mozilla, Star Office etc. Hell my 8 mhz Atari ST loaded programs faster off a floppy than KDE loads programs on my old 333 Cyrix.

    Hopefully this will wake up the open source community and urge them to focus on performance as well.

    But they wont, they will simply toss a few flames, stick their head in the sand and deny it all exists while waiting for another microsoft bashing story to come out.

    1. Re:Speed costs money by chips · · Score: 1

      Well put, i had been thinking the same thing myself.

      I wonder if there is any group within KDE devoted to performace issues in general? I would certainly be interested in something of that nature.

      On the subject of performance, I think this problem might simply be caused by the increased presence of inexperienced programmers. Admittedly, I am one of these. I know how to code pretty well, but I know very little about how to write optimized code.

      Also, since open source projects are constantly in development, coders often focus more on readability than optimization (well, sometimes).

      --
      -- Guns don't kill people, bullets kill people. Guns just make bullets go really, really fast.
  39. That's ridiculous by Kris+Warkentin · · Score: 2

    If someone needs hyper-optimized code for (intel)x86 only, sure this compiler rocks. It's a big world out there however, and Intel only comprises a small percentage of the microprocessors on this planet. The bottom line is that regardless of performance, gcc is still the most portable compiler anywhere and for a lot of people, this is more important. After all, Microsoft takes advantage of the fact that computers get faster and cheaper and so will gcc. For most situations, you don't need the fastest code because the human interacting with it can't tell the difference. Gcc isn't going away. Visual Studio isn't going away. Chances are, intel's compiler won't be used by anyone outside of very specialized number crunching applications because gcc and VC have long ago reached critical mass on their respective platforms.

    --

    In Soviet Russia, hot grits put YOU down THEIR pants.
  40. Thank you Intel by Anonymous Coward · · Score: 0

    This is just a nice weapon in our arsenal. If I were a competing CPU, I might want to develop an optimized compiler for my cpu on Linux/BSD. It is nice that commercial apps are coming to linux (and hopefully BSD).
    But replace GCC?? not until this is truely free (source and $) and runs on any CPU. When it is open, then they will see real market penetration. But until then, I will keep my dependable, well understood, open gcc.

  41. Re:The end of gcc 'cause intel's compiler is faste by nusuth · · Score: 1

    There are quite a few pages that claim exactly the same about performance (but not about gcc's demise.)

    --

    Gentlemen, you can't fight in here, this is the War Room!

  42. Kernel compilation by rkit · · Score: 1

    Intel clearly states that this compiler CAN NOT compile the linux Kernel. As a matter of fact, the linux kernel contains a lot of inline assembler... Some versions of gcc also had problems with this, but this was mainly caused by incorrect kernel code. I never heard of somebody compiling the linux kernel with anything else but gcc, "the recommended compiler". I do not know about other kernels, but I would be very surprised if there was a *nix which did not use its native compiler for its kernel.

    --
    sig intentionally left blank
    1. Re:Kernel compilation by Ayende+Rahien · · Score: 2

      As far as I'm aware, Linux Kernel isn't portable outside of GCC.
      It uses too many gcc-spesific extentions.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
  43. Bullshit comparison. by Anonymous Coward · · Score: 0

    From the artilce:

    "Along with the Linux executables, you'll need to distribute the Intel run-time library, which you are completely free to do under the Intel license."

    So you code relies on some prorietary black box.

    Sorry. No thanks.

    Intel's new compiler does take advantage of the
    esoteric ordering of instuctions in their new
    architectures. This is a great thing, no doubt.
    But give the GCC coders a chance to play with
    it and they'll come up with the same tricks.
    Hopefully it won't take as long as Mozilla/Netscape getting better than IE, which
    took like 4 years.

  44. gcc 3 vs gcc 2 by glwtta · · Score: 3, Interesting
    I really haven't been keeping up with 3.0 (mostly because it doesn't work yet :) ) so I am hoping someone can inform my lazy ass.

    What are they targeting with this release? What new big (and important) features are in it? And, in view of the article, can we expect speed increases, or is it mostly about new features?

    In any case, I am not stopping using gcc just because some closed, expensive thing is much faster (even if it is ten times faster), and I expect a lot of people here feel the same way. Ok, I might consider if it was ten times faster :)

    Apart from the whole OS "cult" theres also another reason (and I am sure many will disagree with me here), but there is such a thing as "fast enough" and for the vast majority of things I use my computer for, that has been more than achieved. Don't get me wrong, I love tweaking, optimizing, overclocking and generally pushing the hardware as far as it will go, by any means handily available (including keeping a voodoo doll of my PC in the freezer), but I've found that I do this more for the process than the end result. Buying and installing a new compiler (which you know nothing about, in terms of how it works) just doesn't seem to be all that much fun. (Besides, I am sure my Athlon would never speak to me again)

    --
    sic transit gloria mundi
    1. Re:gcc 3 vs gcc 2 by Anonymous Coward · · Score: 0

      Gcc 3.0.3 works great for my programs and kernels. Don't know what you're running but Gcc 3.0.3 works great from my experience. Using it as the sole compiler on several of my linux boxen. If you want to know what's new in Gcc 3.x see http://gcc.gnu.org/ As far as benchmarks go, they can help judge something but shouldn't be taken as the sole performance factor. It's WAY TOO EASY to optimize your code/compiler/hardware for one, two even more specific benchmarks. Always remember there is: Lies, Damn Lies and Benchmarks

  45. Good benchmarking, poor analysis by LinuxParanoid · · Score: 5, Interesting

    It's not exactly new news that Intel's compilers are better than Microsoft's or GCC, as any astute watcher or compiler of SPECbench results can tell you. GCC has never been a performance barn-burner. People who wanted that paid the money, signed the forms, and tweaked their software to run under Intel's compilers.

    No, what's great news is that Intel's compilers are available now on Linux. So an ISV like Red Hat can compile the OS (or specific math libraries) on them for either real-user or benchmarking benefits.

    "Driving a stake through the heart" of GCC is a gross exaggeration, given the ubiquity, freedom, and free beer nature of GCC. "Giving GCC a kick in the pants" might be more accurate. And a good thing, too.

    --LP

    1. Re:Good benchmarking, poor analysis by rkit · · Score: 5, Informative

      "No, what's great news is that Intel's compilers are available now on Linux."

      I totally agree. Unix has always been popular in scientific computing and egineering, but I know of several people switching to WindowsNT because

      a) intel systems are extremly cheap (compared to architecures optimized for number crunching like RS6K)

      b) compilers available for NT produced MUCH faster code, e.g. Digital fortran. (Yes, I know ... but still a lot of excellent scientific computing software is written in fortran77, e.g. LAPACK)

      When it comes to numerical simulation, run times in the order of weeks are not unusual, so a performance penalty of 50 percent is simply unacceptable.

      So this may turn out to be a big win for linux in the scientific computing area.

      --
      sig intentionally left blank
    2. Re:Good benchmarking, poor analysis by Anonymous Coward · · Score: 0

      What nonsense.. There are plenty of commercial fortran compilers for linux that are quite popular with the Linux/Solaris crowd. The portland group compilers are *dirt* cheap in the grand scheme of thing (I believe ~300 for an academic license for the whole suite) and are very popular among the numerical crowd. The Dec/Compaq fortran compiler is a popular for NT but there are many more options out there.. The only people running NT for numerical work either run commercial packages or got their machines donated to them from a ms/intel collab.

    3. Re:Good benchmarking, poor analysis by thogard · · Score: 1

      I don't agree with your comments about GCC being slow. In the early days of 32 bit CPUs it was offten much faster than the vendors compilers. This was true for the National Semiconductor 32000, the western electric (aka AT&T) we32000. Depeneding on who you asked it was faster for motorola and sparc chips as well. It seemed to do quite weill fo real CISC but it did have a weakness with RISC.

      It was never fast for the Intel chips which may have more to do with the design of the x86 and not GCC.

  46. This is hella dumb by Anonymous Coward · · Score: 0
    Furthermore, while it is not a reasonable comparison until the new Microsoft Windows .NET servers are shipping, and Visual Studio .NET is in production, the installation of Intel compiler is far faster and easier than the installation of Visual Studio .NET.
    Sooooo dumb. Visual Studio .Net is an IDE, not just a compiler. If you want just the command-line compiler, install the .Net framework and SDK. It takes, what, 5 minutes? If that. As far as I can tell, this Intel compiler is just a command-line compiler, and it just does C/C++, not the full range of languages you get with VS.Net.

    Also, VS.Net is not a beta product: it went RTM last week.
  47. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    GCC going away is about as likely as Microsoft going away.

    Doesn't matter if they both suck. Market share is important...

  48. My own experiences by neonstz · · Score: 5, Insightful

    A while ago I tested the Intel compiler on some graphic-stuff I've been coding (using Visual C++). I got between 20-30% performance increase. The compiler was horribly slow though, MSVC was probably 4 times as fast compiling the entire project.

    I'm using GCC 3.0.x for Gameboy Advance development (ARM7TDI cpu). It works fine for me, but the vendor compiler generates between 30 and 40% faster (and smaller code) (or something like that, don't have the exact numbers right now). But as many others have pointed out, GCC is free, other compilers are not.

    GCC is excellent for multi-platform development and cross-compiling. Using the same compiler for Windows, Linux, *BSD, Irix, Solaris and Gameboy Advance is a huge advantage.

    Speed (on the generated code) isn't always the issue. At work we always compile and run with full debug information and no optimization (except for tiny, speed-critical parts and very very thouroughly tested libraries). The code is used in weapon systems (we ship the entire system, including the hardware). Coredumps are very nice if you want to find out why something crashed :)

    1. Re:My own experiences by Anonymous Coward · · Score: 0

      "We're making weapon systems out of the Gameboy Advance". ?!?

      Or at lest, my first quick skimming of your post led me to that, though on rereading, I see they're not necessarily connected

    2. Re:My own experiences by wik · · Score: 2

      Insight of the day...

      If you're launching a weapon and it doesn't crash into something, you're in orbit.

      Anyway, I do performance modeling at work. My simulation code always has debugging symbols and all assert()'s left in (except for a few hard-hit IO libraries), because you never know when you're going to hit some data that tickles a latent bug.

      --
      / \
      \ / ASCII ribbon campaign for peace
      x
      / \
    3. Re:My own experiences by neonstz · · Score: 2, Funny

      "We're making weapon systems out of the Gameboy Advance"

      Or at lest, my first quick skimming of your post led me to that, though on rereading, I see they're not necessarily connected

      Well, I've actually thought of making a Gameboy Advance interface for our air defence system, just for fun. Displaying the radar tracks using sprites and a map background, maybe with corridors and other info. Select target with the arrow buttons, fire with A. The thought of launching an AMRAAM or HAWK missile with GBA is... interesting. :)

    4. Re:My own experiences by cananian · · Score: 2

      Yeah, I've looked at the code gcc produces for StrongARM, and it ain't that great. Pretty awful, actually. But the StrongARM is a very quirky architecture, too. Perhaps one day someone will put decent predicated-execution hooks in gcc's backend and someone else will spend the time to tune for ARM and things will be different.

      --
      [ /. is too noisy already -- who needs a .sig? ]
    5. Re:My own experiences by slashdot.org · · Score: 2

      That's interesting. Not too long ago I compiled a huge project (Spyglass Device Mosaic Web browser) with the Intel compiler, vs. the Microsoft compiler that was used before.

      I could not detect any improvements whatsoever. One of the tests I had was an HTML page that took DM 30(!) seconds to render. (CPU load was 100% on P4-1.7Ghz). I figured that the P4 optimization should give it quite a boost, but nothing. (and as the CPU load shows, this was not an IO issue).

      In my opinion the DM code is horribly written, so I wonder if 'better' code optimizes better. But if so, what is better code? (Supposedly VTune should help to determine this, but I've never been able to succesfully use it)

    6. Re:My own experiences by Alsee · · Score: 2

      what is better code?

      There is no spoon.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
  49. Sure but... by tomstdenis · · Score: 2, Interesting

    Sure Intels compiler might be super good at optimizing, but are they forgetting any 12 yr old trying to learn C can pick up GCC for **free**?

    Tom

    --
    Someday, I'll have a real sig.
    1. Re:Sure but... by tomstdenis · · Score: 1

      Well, you 'free' to go out and spend hundreds of dollars on the intel compiler.

      I'll just use my decently optimizing copy of MingW for free.

      Ooops, I guess you didn't think of that.

      --
      Someday, I'll have a real sig.
  50. Here we go again by Anonymous Coward · · Score: 4, Insightful
    The open source crowd still doesn't understand that people outside "the community" are willing to pay for better software, whether that payment is in money or an acceptance or lowered freedom (as in speech). Of course Intel's compilers are better than GCC--they've got top-notch professionals working on them full time, and their corporate image is on the line because their name is on the product.

    GCC will still be in very wide use, since it comes with Linux and it does a quite decent job. But anyone who really cares about performance will seek out the better alternatives, like Intel's compilers. This is not news, and it's particularly not bad news--we all want freedom of choice, and the more genuine alternatives everyone has, the better, right?

    1. Re:Here we go again by mvpll · · Score: 1
      Of course Intel's compilers are better than GCC--they've got top-notch professionals working on them full time, and their corporate image is on the line because their name is on the product.

      There are plenty of software companies with the professionals and their name on the line producing absolute garbage.

      But anyone who really cares about performance will seek out the better alternatives, like Intel's compilers.

      There is too little information in the original article to regard their benchmarks as meaningful. If the compiler is so well tuned to the PIII, why does my Duron underclocked to 700 get exactly the same results?
    2. Re:Here we go again by Greyfox · · Score: 2
      My department a couple of jobs ago did an upgrade to a more recent version of HP/UX for one of our development machines. Faced with a choice of shelling out $1000+ to the vendor for their C compiler or installing GCC, we went with GCC. Sure the HP C compiler was better optimising for the platform, but a moderate speed increase just wasn't worth the extra money for our application and it was rather nice that our code for Linux would compile unchanged on the HP box.

      The only time I'd ever go with a vendor compiler over GCC would be if I needed ultra-high performance and even then I'd seriously consider using GCC and hand-coding the bottleneck code in asm.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    3. Re:Here we go again by Anonymous Coward · · Score: 0

      It's was a Mobile PIII in a laptop at 700Mhz. It should be slower than your Duron.

  51. Re:How to spend your money. by Anonymous Coward · · Score: 0

    plan C: GCC, ???, Profit!

  52. There are other excellent compilers by cluge · · Score: 5, Interesting

    Compaq's (formerly DEC) C compiler for alpha's have always been excellent and far ahead of GCC. The problem is that a lot of compilers (we haven't tested the intel yet) won't compile all the code that you may want or need. In the *NIX env. GCC seems to provide the highest level of compatibility over a wide variety of platforms n(SUN, AXI, BSD, Linux, Tru-64, Windows, et al).

    Until there is only one chip left to support (Intel is fast working on it, with the support of turncoats Compaq, HP and others) GCC will be a viable option. GCC is a great "cross platform" compiler that works for much of the current written open soruce code base. You can get that compiler to work for many different OSs and archs.

    In the end, remember apache wasn't the fastest web server, but it was the "most correct" and it was free! It really doesn't matter how well your C compiler works if it won't compile your code or run on your system.

    --
    "Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
    1. Re:There are other excellent compilers by Score+Whore · · Score: 1

      Something you might want to consider: GCC isn't "more compatible" it's just that a lot of people write code using GCC. There are a number of non-standard "features" (and GCCisms) in GCC that are the default behavior. People write code to them, and then their code doesn't compile on other compilers on the same platform.

    2. Re:There are other excellent compilers by aminorex · · Score: 1

      Like Java, GCC *is* the platform. It defines
      a portable source language. In fact, you get
      *more* portable code by writing against GCC than
      you do by writing against JVM!

      --
      -I like my women like I like my tea: green-
    3. Re:There are other excellent compilers by Score+Whore · · Score: 1

      Fancy thought, but just plain wrong. GCC doesn't define what the characteristics of the operating enviroment are. All it does is provide one way of interacting with it. If code was more portable by writing against GCC then why do all the packages that you download and compile from source include a configure script which checks what the properties of the platform you are building for are? And unfortunately automake and autoconfig do not provide replacements for the differences in the various OSes out there. Each and every package has to decide how to deal with the foibles of each platform that the program is ported to.

    4. Re:There are other excellent compilers by HalfFlat · · Score: 2

      It is worth noting though that GCC version 3 is one of the most standards-conforming C++ compilers available.

      It is significantly better than Intel's on weird template and STL stuff, and a vast improvement over Microsoft's Visual C++ (which even in its latest incarnation has failed to address partial specialisation bugs dating back to vanilla 6.0.) Just because these template issues are weird, does not make them useless. On the contrary, they can allow code which is both more easily maintained and faster. For examples, consider Blitz (templated numerics library) and Boost (a very well thought out set of extensions to the standard C++ library.)

    5. Re:There are other excellent compilers by Bert64 · · Score: 1

      It`s also worth noting that a LOT of code written for older versions of GCC fails to compile with 3.0, Much of this code also fails with other compilers (Compaq`s for instance)

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  53. STFU by Anonymous Coward · · Score: 0

    Why are there so many posts saying either "this will kill gcc" or "gcc still wins - yadda yadda"?

    Gcc works on almost any platform out there. It's pretty slow, though.

    If you have a "native" compiler for your platform, use that - otherwise, gcc is there. SGI's MIPSPro, for my purposes, generates code that is usually 3 or 4 times faster than GCC's on a mips4 isa. Suns CC usually gives me about twice the performance. There's nothing ominous about using a "native" compiler when one is provided, but gcc doesn't "die" because of it. It's a reasonable compiler that you can always count on being there, regardless of platform.

    As long as people remember to write their software in ANSI C/C++, there shouldn't be a problem, should there?

  54. Interesting results by Salamander · · Score: 3, Interesting

    I'm surprised that nobody has commented on what might be the most interesting result on these tests - that the same code produced by the same compiler runs 10% faster on Windows XP than on Linux (2.4.10, according to SuSE's description of 7.3). Sure, the "kernels"[1] used by the benchmark might not be as representative of real life as we'd like, but this should still be cause for concern. Kernel developers have flamed each other endlessly over smaller differences on less comprehensive benchmarks between the Arcangeli and van Riel VM systems. Do we have to go through a Mindcraft-like period of denial before anyone starts taking such a result seriously?

    [1]The objections about the "kernels" used in the benchmarks not being the same as the "kernel" with which we're all familiar only demonstrate the ignorance of people who don't know that the scientific programming and benchmark communities have been using the term just as long as the OS community. Their usage may be different, but it's just as valid.

    --
    Slashdot - News for Herds. Stuff that Splatters.
    1. Re:Interesting results by glwtta · · Score: 2
      2.4.10? wasn't that one a mess?

      Not trying to come up with excuses for Linux just yet, it's just the first thing to jump out at me.

      All in all, they have very little information about the actual benchmarks in that article. But I expect we'll see more people doing these "head to head" comparisons now that both OSes can use the same compiler. Kyle? Tom? up to you guys :)

      --
      sic transit gloria mundi
    2. Re:Interesting results by Salamander · · Score: 2
      2.4.10? wasn't that one a mess?

      IIRC, 2.4.10 was the first 2.4 kernel with the AA VM. Yes, it was a mess, but I don't think advances since then explain a 10% performance difference for this type of benchmark.

      I also don't know for sure that OBL used 2.4.10. They said they used SuSE 7.3, and SuSE's page for 7.3 says it uses 2.4.10, but that doesn't mean the benchmark used that version. Overall, there do seem to be a few things about the benchmark that give legitimate cause for suspicion. For example, I couldn't find the actual benchmark programs, or even a description, and why the hell were they testing on an HP Omnibook (700MHz P3) instead of a more realistic desktop system, and why did they build the code for a WinXP system on a Win2K system? Very odd.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    3. Re:Interesting results by Gerdts · · Score: 1

      The Windows kernel and core libraries were compiled with a faster compiler than the Linux Kernel and core libraries. I would like to see the results of an Windows system built with the intel compiler and a Linux system built with the same compiler. At that time, you can start to compare which OS's architecture is better for the benchmark that is being run.

    4. Re:Interesting results by Salamander · · Score: 2

      That would indeed be an interesting comparison. Unfortunately, I'm not sure if the Intel compiler preserves enough gcc-specific behavior for that, since so much of Linux (especially the kernel) is written so that it doesn't even work properly with different versions of gcc. Of course, I'm absolutely certain that the code in Windows depends on an even bigger bucket full of language extensions, but then nobody claims that Microsoft is the champion of standards and compatibility so at least they're not being hypocritical about it.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    5. Re:Interesting results by robhancock · · Score: 1

      Don't be so sure that Windows code must use a ton of language extensions - Visual C++ does have some extensions to the standard, but generally (always?) by default it spits out warnings ("warning: nonstandard extension used: ...") whenever you use them - GCC doesn't do that with its extensions..

  55. Who owns those architectures these days? by Christopher+B.+Brown · · Score: 2
    PPC may have been a tad questionable, but you might want to look into the "technology transfers" of the last few years.

    You might find Alpha and StrongARM on the Intel list...

    --
    If you're not part of the solution, you're part of the precipitate.
  56. 2nd rate performance never lessened GCC-use before by Anonymous Coward · · Score: 0

    GCC has been second in execution speed, features and quality of generated code to vendor-supplied compilers for as long as written history recalls.

    That never stopped GCC adapation before. Apparently, other factors play a more important part. Some will be relevant - such as availability, portability, and freedom from arbitrary architectural chains - and others will be irrational.

    Even if there were an entirely superior, freely available platform- and architecture-agnostic compiler, GCC would still dominate by the power of its dominant entrenchment in current technology. This shouldn't surprise anyone, in this world dominated by mediocrity at best.

  57. This is a good thing. by Anonymous Coward · · Score: 0

    Great! Someone is making a product that
    will add value to computers. Most folks will
    balk at the closed source and asking price;
    but this can add value to open source and
    closed commercial products. If you are doing
    something like making the next "Shrek" and
    running a server farm or something. You
    can recompile a few key modules using this
    compiler and speed things up 47% percent.
    On some of these "2 week" jobs, this can
    save 6 days. Hard core, long running, high
    value programs will benfit mightly from this.
    Sounds like a great compiler but the heavy handed
    promotion of the product in the article is a little bombastic.

    1. Re:This is a good thing. by Anonymous Coward · · Score: 0

      For the majority of linux users this doesnt matter, because the majority of linux users dont do anything productive with their machines anyway. They are too busy downloading child porn. But for people who do numerical work, this is a huge win. For scientists and engineers these compilers are a must have. For you typical linux lusers this wont help you be any more lame than you already are.

  58. For mathematical applications by Zo0ok · · Score: 3, Funny

    The code tested computed some kind of geometric mean... It is not surprising att all that performance can be improved significantly by optimising against parallell instructions (such as SSE/SSE2). There is no guarantee that any major improvements will be seen on an "ordinary application".

    However, I will find use for this information and I will try Intels compiler and compare it to GCC.

    Very minor changes in the code of this kind of high-performance applications can result in very big speed-ups, with any compiler. It would be interesting to see some real world problem (some PDE-model or something) based on for example BLAS (Basic Linear Algebra Solver, or something, www.netlib.org), being computed with gcc/icc and see the "real" difference.

  59. A possible reason for the 47% improvement by c=sixty4 · · Score: 2, Informative
    It is well known that the Pentium 4 has a seriously underforming FPU when dealing with standard floating point operations instead of the P4 specific SSE2 operaions.

    It is quite possible that a similar improvement could be achieved by GCC in floating-point intenisve code simply by supporting SSE2.

    --
    "The good die first." "Most of us are morally ambiguous, which explains our random dying patterns." --- MST3K
    1. Re:A possible reason for the 47% improvement by glwtta · · Score: 2

      um, they used PIIIs

      --
      sic transit gloria mundi
    2. Re:A possible reason for the 47% improvement by mvpll · · Score: 1

      This might be informative if the benchmarking was done on a P4 rather then the P3 they used...

    3. Re:A possible reason for the 47% improvement by Anonymous Coward · · Score: 0

      You know, Intel was flamed for years for the x87 FPU. So they take steps to legacy it, and they get flamed for that too. Lose-Lose situation, I guess.

    4. Re:A possible reason for the 47% improvement by zenyu · · Score: 1

      It is quite possible that a similar improvement could be achieved by GCC in floating-point intenisve code simply by supporting SSE2.

      I'd pay for a gcc and linux distro that never touched the old FPU. I flinch everytime I have to insert a emms because I'm entering gcc land, especially if it's in a loop (only one right now, but I've had two nightmares where it came up.)

  60. GNU is no longer the driving force behind free sw by rseuhs · · Score: 4, Interesting
    I know it's highly controversial to say this, but IMO, GNU is no longer the driving force behind free software. While GNU created great things in the past (emacs, shell-utilities and above all gcc of course) lately development seems to have stagnated a bit.

    It seems to me that GNU and the FSF has become a bunch of bureaucrats and politicians who forgot what free software is all about.

    Today, the real dynamic and successful projects are mostly non-GNU: KDE, Apache, Linux, Wine, etc.

    Today, GNOME is the only GNU-project that can be called a bit dynamic, and I think this is because of a lot of 3rd party involvement via the GNOME-foundation and the fact that RMS is not the final authority in the GNOME-project.

    What breakthroughs has there been in RMS-led projects in the last - say - 5 years? I can't think of any.

    Of course, gcc is still the best open-source compiler we have, and no alternative is in sight (unless Intel open-sources theirs which is highly unlikely), but I see it as a weak spot in the free software-world. How long have we been waiting for a decsent c++ compiler? Maybe I'm paranoid, but maybe RMS is not very enthusiastic about C++ support because GNOME would look even worse in comparison to KDE, once a good C++ compiler is available?

    I think we need a lot more non-GNU involvment for gcc (gcc-foundation?) to get some fresh blood into this project. And if RMS doesn't allow that, we need a fork.

    But of course, that's just my opinion, so flame me.

  61. they got theirs by glwtta · · Score: 2
    you diss GCC you get slashdotted - just the way it goes ;)

    --
    sic transit gloria mundi
  62. Times will get harder for GCC by Anonymous Coward · · Score: 0
    Suboptimal performance is what you get for supporting so many platforms. Up and coming platforms, e.g. IA-64 and X86-64, will not make it any easier.

    Optimizations or more platforms? Or more people to the project?

  63. Supported Platforms by garoush · · Score: 5, Insightful

    How can GCC die when Intel can't come close the impressive list of Supported Platforms by GCC?

    --

    Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
    1. Re:Supported Platforms by fremar · · Score: 1

      So true. And even on the Linux/Intel platform most people will probably stay with gcc, simply because it comes with their Linux distribution. Linux distributors cannot place the Intel compiler on their cd since it is not totally free, but they have to give a compiler, so they distribute gcc. But on the other hand, competition is good, maybe this will lead to further improvements in gcc

    2. Re:Supported Platforms by leereyno · · Score: 3, Informative

      Actually Linux distributors can put anything on their CD's they want, provided that they have the permission of whomever owns the code. Debian does refuse to put anything in their distribution that isn't free as in speech, but that is their choice.

      Lee

      --
      Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
    3. Re:Supported Platforms by ghostie · · Score: 1

      And how many projects actually utilise the supported platforms for gcc? The number of programs I've run across that don't take into account little things like endian, default structure alignment etc (when the programs store data in binary files).

      This is similar to the Java write once, run anywhere slogan - anyone tried to get an up-to-date JVM for a NetWinder (ARM based) for example?

  64. How so? by autopr0n · · Score: 2

    By charging for their compiler, they acomplish two things:

    1) They make money off people who can afford it

    2) They make money off people who can't, and thus need to buy a faster PC.

    --
    autopr0n is like, down and stuff.
    1. Re:How so? by Anonymous Coward · · Score: 0

      They don't make money off people who buy AMD processors.

  65. Read the fine print by lkaos · · Score: 3, Insightful

    In essence, the Intel compiler attempts to maximally exploit the 128-bit Streaming Single-Instruction-Multiple-Data (SIMD) extensions on packed integers and floating point numbers, which enable fine-grained code parallelization, found in the Pentium III and Pentium 4 CPUs.

    So the compiler produce code that only is optimized for Pentium III & Pentium IV CPUs. So it is not a production quality compiler because it can only produce code for specific processors of an architecture family.

    I really don't see what the big deal is. If I wrote a program in assembly to take advantage of these extensions on a Pentium III does that mean I can get a story /.'d since assembly is now going to overtake C?

    --
    int func(int a);
    func((b += 3, b));
    1. Re:Read the fine print by man_ls · · Score: 2

      This is a good thing.

      Think about it. The technology is there, so why not use it? It's the same thing I tell my programming teacher when she gets pissed about my using strrev(char *string); instead of writing my own string reverse function in C++.

      Hell, a lot of shitty compilers aren't even optimized for MMX yet, and that set of instructions DOES exist in every processor out there now.

      I'd assume that if you're using the Intel compiler on an AMD chip, it's not going to try to optimize for P3 and P4 instruction sets. So why not use an AMD compiler for compiling to 3dNow! and the like?

      Intel isn't obligated to produce a compiler that is faster for *every* architecture in existance. They're only obligated to make a straight compiler that works with it all...if it happens to like its own processors better than others, thats called the left hand working well with the right. It would be pretty hard for Intel to make their compiler work as well with 3dNow! as it does with SSE and SSE2.

    2. Re:Read the fine print by Anonymous Coward · · Score: 0

      So the compiler produce code that only is optimized for Pentium III & Pentium IV CPUs. So it is not a production quality compiler because it can only produce code for specific processors of an architecture family.

      It optimizes well on the Pentium 3 and 4, but it still works for the 386. gcc on the otherhand doesn't optimize anything well.

    3. Re:Read the fine print by BCoates · · Score: 1

      I've only used the Intel compiler on Win32, but i imagine there isn't much difference. It creates code that detects the CPU on the fly and branches to multiple optimized versions, so you get the fastest code for the system you're running.

      There are options you can set to control this behavior, so you can create smaller binaries targeted to a single processor (pentium, mmx, II, III, or IV, iirc)

      --
      Benajmin Coates

    4. Re:Read the fine print by Charles-at-home · · Score: 1
      By your definition, GCC is essentially the only production quality compiler as most vendor compilers only support the processors of their architecture.

      I'm currently using the IBM AIX compiler to port 50K lines from VC++ - in a shop where all the Unix codes are GCC - because GCC will not compile it.

      We've also done performance metrics and use GCC because the cross platform compatibility is more important than the fact it loses badly to every vendor's compiler, performance wise.

    5. Re:Read the fine print by lkaos · · Score: 2

      You miss my point. It's not about producing fast code for _every_ architecture, but producing the same code on all processors of a single architecture.

      Look, all compilers optimize to the current architecture and for the desired chipset, but let's examine what this would be used for:

      Let's say it's being used to write regular old application level programs. Well, all these fancy optimization has to be shut off because distributing different binaries for different processors is not only a pain, but will likely draw many false bug reports.

      That means you have to use it for an in house project where you know the architecture and are looking to speed things up. Well, while this is surely convient to not have to rewrite these routines in assembly, it still could be done in GCC. While there is obviously a place for the Intel compiler, it is not anywhere near the market for GCC or even MSVC.

      Optimizing is fine, but that doesn't mean GCC is obsolete. It's the same argument with regards to the VectorC compiler.

      Anyway, I will say one good thing about Intel's compiler. It kicks ass for C++, mainly because Intel has patents on lots of the cool C++ optimizations...

      Let me stress my point though, just because a compiler produces super fast code for a certain processor of a large processor family, doesn't mean that it's the silver bullet against GCC.

      --
      int func(int a);
      func((b += 3, b));
    6. Re:Read the fine print by lkaos · · Score: 2

      No, not at all. Whether a compiler is production quality is entirely dependent on the production environment.

      There are not many production environments where Pentium III & IV processors are the only processor out there though and since most of the time, it doesn't make sense to release separate binaries for difference processors, Intel's compiler is hardly a replacement for GCC.

      If it's C++ and GCC 2.95.x or lower, I'm not suprised at all :) 3.0 is much better at C++. Then again, earlier versions of VC++ have horrible C++ support and all versions of VC++ have a bastardized version of STL so that may be why your having trouble porting.

      Atleast you agree though that portability is more important than speed in most circumstances. It's not just portability though. Even if your a Unix shop that uses multiple Unices but doesn't share code between them, it's important to have a standard compiler to avoid forcing employees to learn all the niches of each different compiler.

      --
      int func(int a);
      func((b += 3, b));
    7. Re:Read the fine print by 3247 · · Score: 2
      Hell, a lot of shitty compilers aren't even optimized for MMX yet, and that set of instructions DOES exist in every processor out there now.
      Wrong. I know several servers running on older CPUs (mostly pre-MMX i586).
      --
      Claus
  66. FUD by Anonymous Coward · · Score: 0

    1) gcc is the best compiler
    2) linux may crash; but I've never witnessed it.
    3) Mozilla is a jewel, true; but the crown
    jewel of open source is Apache: 60% market share.
    4) Loki? Oh yeah, Open source relys totally on Loki.
    right.
    5) uh, well, yeah moderators do suck.

  67. real question is C++ conformance + compiler speed by hosercat · · Score: 2, Interesting

    The intel compiler and it's library quality has to be able to handle ANSI C++ at least as good as GCC 3 or it's not much of an option for me. Is this not an issue for anyone else? Another factor is compilation speed. You wouldn't want to dump gcc for development builds if icc is signicantly slower as I hear it is.

  68. Is what they measure important to you? by Jay+Carlson · · Score: 2
    I'm always looking for more data on the relative performance of systems. For almost all of us, the quality of compiler-generated code is an inseparable part of system performance. If you have a processor that looks really fast but no compiler can produce good code for it, you'll have better performance if you use a "slower" machine that compilers do support well.

    The best performance measure is running your code on a variety of systems. Because most people can't do that, it may make sense to look for standard benchmarks that look like your code, and then make analogies based on the similarities of those loads to what you want to do. It's critical to pick the right benchmarks to have a good analogy; if you're interested in 3d performance, it doesn't make sense to make performance comparisons based on the number of rc5 keys per second.

    Unfortunately, the Open Magazine article doesn't give any information on what exactly their tests are doing. So it's not possible for you to figure out which, if any, of their tests will be analogous to your code. :-(

    As I've mentioned before, I'm mostly interested in integer performance. From what I've read about the Intel C compiler, its strength is floating point. If I did a lot of FP work, I'd be sending Intel a credit card number about now, and I imagine many FP people will.

    But for integer work, I think it's not so clear. Andreas Jaeger has a nice page benchmarking versions of GCC. On Athlon processors, SPEC CPU2000 CINT2000 base looks like it's around 10% faster when built with the Intel C compiler than with GCC 3.0.1. I think I can live with that.

    It's a lot easier to modify gcc than icc too, and yes, I really do hack on gcc from time to time.

  69. Missing benchmarks? by Daniel · · Score: 1, Troll

    Open letter to the authors:

    This is a very interesting article, and I'm sure that it will be food for thought for many people.

    However, I think that some important benchmarks were accidentally omitted. Could you include your comparison of the Intel, Microsoft, and GNU compilers on powerpc, sparc, alpha, mips, arm, and hppa?

    Thanks,
    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  70. OS is irrelevent. by Anonymous Coward · · Score: 0

    Numerical computation code running on Intel
    Windows and Intel Linux will run at exactly
    the same speed. OS overhead is negligible
    in this case. Linux may be faster or slower
    but that's a seperate issue.

    1. Re:OS is irrelevent. by Salamander · · Score: 2
      Numerical computation code running on Intel Windows and Intel Linux will run at exactly the same speed.

      ...except that they didn't, in this case, and the article - which you obviously didn't read - even suggests some reasons why that might not always be the case.

      --
      Slashdot - News for Herds. Stuff that Splatters.
  71. Better than GCC but not better than VC++ by garoush · · Score: 2

    Are we surprise that Intel's compiler is better than GCC? We better not be -- they own the CPU after all.

    However, *I* am surprise that Intel's compiler *is* in fact better than Microsoft's C++ compiler (which is if you used it). After all MS has a whole army of codders working on their compiler (not to mention for 15+ years). MS should know all too well by now how to write an optimized compiler -- and bug free, support for the latest standard, and on and on.

    Now *THIS* should be the news of the day not Intel vs. GCC.

    --

    Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
    1. Re:Better than GCC but not better than VC++ by Anonymous Coward · · Score: 0

      GCC performs better than VC++, check any benchmark. Also VC++ has serious C/C++ compatibility problems and until the latest version there were many of cases of code corruption.

    2. Re:Better than GCC but not better than VC++ by garoush · · Score: 2

      I was comparing VC++ and Intel -- that is the subject of my posting and content.

      I guess "Anonymous Cowards" don't read -- they just want to jump the gun.

      --

      Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
    3. Re:Better than GCC but not better than VC++ by Malor · · Score: 1

      My kingdom for mod points :-)

    4. Re:Better than GCC but not better than VC++ by Anonymous Coward · · Score: 0

      Despite what they would like you to beleive, Microsoft does not have the best programmers in the world. Intel has a large software-development division, and with their tight knowledge of the CPU's, I would have found it surprising if Microsoft could have written a better compiler.

    5. Re:Better than GCC but not better than VC++ by fredrik70 · · Score: 1

      Well, Intel got the actual blueprint for the CPU. THe CPU might also have some 'undocumented features' that only Intel knows about...

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    6. Re:Better than GCC but not better than VC++ by awl · · Score: 1

      I don't want to bash Microsoft here, particularly as the last version of Microsoft C++ that I used professionally was 5.x, which was a long time ago.

      However, to my knowledge, Microsoft have never had the fastest compiling compiler, the compiler producing the fastest code, the most standards compliant compiler, or the compiler most reliably compiling code to a binary version which does what the source says. At various points they have been last in each of these categories. (I have particularly vivid memories of the nonsense it spewed out in the guise of executable code if you forgot to provide the compiler flag to disable the unsafe optimizations.)

      The one category that Microsoft have definitely come top in is support for Windows (MFC etc.) I suppose this category would also include not being broken by the latest Windows upgrade, which is a fate that seemed to befall many other vendor's compilers.

      It would be much more surprising that Microsoft's C++ compiler came top in a category than that Intel (knowing the chip is a much bigger benefit to compiler writing than knowing the OS) produced a better compiler for Intel chips.

      All IMHO of course, and YMMV.

    7. Re:Better than GCC but not better than VC++ by spitzak · · Score: 2
      In my experience VC++ has produced noticably faster code than gcc. This is for *OPTIMIZED* code (ie -O5 in gcc and whatever the equivalent is in VC++).

      You are certainly right about the compatability problems. All too often we need to turn off the optimizations on VC++ and the result is slower code (for unknown reasons debug VC++ output is probably more than TWO times slower than debug gcc output).

    8. Re:Better than GCC but not better than VC++ by Anonymous Coward · · Score: 0

      Don't know where you get the idea that MS has the army of coders on their compiler as Intel is the company that keeps buying other code gen companies (KAI & PCG come to mind) along with hiring away people from HP, Sun, etc.

  72. the end of GNU/Linux by Anonymous Coward · · Score: 0

    Soon they'll cry because we don't properly call it Intel/Linux as it obviously should be as it's based on an Intel compiler

  73. This really.. isnt surprising... by 3rd_Floo · · Score: 1

    Not meaning to be 'anti-GCC' for a moment, but on my Beowulf cluster, I get remarkably better performance with ifc/icc (The Intel Fortran/C/C++ Compilers) than I get with gcc/g77. Dont get me wrong, gcc is still my perfered compiler, and I use it for almost everything, but when it comes down to sheer performance so that my Intel/AMD hetrogenous Beowulf can make similar performance stats to thoes of all Alpha's or SGI's. The Alpha, and SGI have wonderful compilers that optimize the code very well, however, the drawback of this over optimization is that the code becomes very unportable. And that is where GCC is getting better, for alot of code is very portable, since its not optimized for a specific archatecture. But if GCC wants to make good solid inroads in the R&D world, they need to start building some good optimization routines. I know this defetes some of the GNU-ology behind it, but, the poor performance on gcc is what makes all the researchers use the commercial compilers. So say what you want, but the Fluid Dynamics, and Finite Data Analysis guys out there will tell you that they get better/faster results on PGI or Intel, or Compaq Alpha compilers than on GCC, and they spend hours/days/weeks/years optimizing the same code in order to get 1/2 ms faster compile times.

    Just my 2 Cents.

  74. fibrillating hearts by Error27 · · Score: 2
    Everyone has been quoting parts of this sentence but it deserves to be quoted in full.

    "Nonetheless, the magnitude of the performance differential in numerically intense applications is such that only the most dramatic sort of improvement in the long-awaited version 3 of the GNU C/C++ compiler will stay the hammer that drives a stake through the fibrillating heart of the aging technology behind the GNU C compiler."

    If I read that correctly, it means that they did all the tests with gcc2. I think gcc3 version has not been optomized as much so it would probably be worse, but it would still be interesting to see how they compare.

  75. Warning by Lars+T. · · Score: 3, Interesting
    Heise Newsticker reports (in German), that the compiler switch -ipo (inter procedural optimization) with the Intel C++ compiler can seriously mess up the compiled program. An example given (with image) is Povray under both Windows and Linux, which can tint some images.

    What good is a fast running kernel, when it has more bugs than something from Microsoft?

    --

    Lars T.

    To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    1. Re:Warning by TeknoHog · · Score: 1
      What good is a fast running kernel, when it has more bugs than something from Microsoft?

      Mr. Anderson, what good is a fast running kernel if the procedures are unable to speak (to each other)?

      --
      Escher was the first MC and Giger invented the HR department.
  76. GCC *IS* the world's greatest compiler by Anonymous Coward · · Score: 0

    Please, Intel's compiler has _always_ outperformed gcc on the Intel architecture. DEC's compiler has always outperformed gcc on the Alpha architecture. Sun's compiler has always outperformed gcc on the SPARC architecture (but not Intel). The bottom line is that NOBODY CARES. Gcc is the world's most portable compiler, over both architectures and operating systems; that is why it is the most popular. The people have spoken; they have demonstrated via usage patterns what truly makes a great C compiler. It is not speed.

  77. AMD should support GCC enhancements by VersedM · · Score: 5, Interesting

    It seems like it would be a nice move for AMD to support GCC optimizations for Athlon processors. The idea would be similar to IBM supporting Linux as a way of chipping away at market dominance by Microsoft.

    AMD should supply GPL'd contributions to GCC that optimize code for its Athlon processors. This would give them a relatively cheap way of putting out a competing compiler to Intel's proprietary version since it would leverage all the work that has already been done by the GCC group. It could also make them the preferred chip for open source OS's by ensuring that Athlons run GCC code faster than any other processor. This would be strategically very valuable at a time that they are about to push their new 64 bit instructions while Linux is simultaneously becoming viable/validated as an enterprise platform. Since GCC is not limited to Linux, these performance enhancements would also translate into gains for non-open source development projects as well.

    All in all, it seems that this could be a be a great way for AMD to give developers a way to produce AMD optimized code while at the same time encouraging the use of their new 64 bit instructions in the booming open source OS server/workstation market.

    1. Re:AMD should support GCC enhancements by Graymalkin · · Score: 2

      Why do all Linux users think that AMD is somehow more Linux friendly than Intel is? AMD is out to make the beaucoup bucks and the beaucoup bucks are in the Microsoft using populace, not a population that is smaller than a margin of error. AMD does not automagically become the friend of Linux simply because it is a competitor to Intel which Linux users see as the Great Satan Jr. It is in AMD's best interest to like Microsoft because they need Microsoft's users in order to make money. They've got a 64-bit chip coming out in the near future, they need an OS to stick on top of it that people have a desire for. Selling a handful of these processors to Linux users isn't exactly going to keep AMD in the black.

      That said, it would be cool if chip manufacturers did put some optimizations back into open compilers. However this is bad business. Would you buy Intel's compiler if GCC had the same performance? No. Thus Intel would be losing market share in the compiler world. Same with AMD or any other chip manufacturer. It is much better business to sell optimizations to people selling compilers and get a little kickback from each sale. Vendors using these optimized compilers can offer a higher performance version of their product with little extra overhead (the price of the optimized compiler and the few manhours to do a recompile and repackage). Letting users of particular processors buy or download a patch to increase performance on their machines is going to sell more copies of said software.

      --
      I'm a loner Dottie, a Rebel.
    2. Re:AMD should support GCC enhancements by abdulla · · Score: 1

      send that suggestion to AMD, that's just a perfect idea!

    3. Re:AMD should support GCC enhancements by RazzleDazzle · · Score: 1

      I think the idea was that not only would Linux benefit, but all on the HUGE list of supported platforms supported by GCC have the potential for performance gain. If proprietary code compiled using GCC for athlons is sold, that could benefit too.

      It might be argueable how much benefit could be gained, but that would be up to AMD to determine how much work would have to go into the GCC and how much of a gain could be made.

      --
      ZERO ZERO ONE ZERO ONE ZERO ONE ONE! Just brushing up for my next big invention: Ethernet over Voice (EoV)
    4. Re:AMD should support GCC enhancements by Glock27 · · Score: 2
      I couldn't agree more, though I have heard AMD supplies decent information. It would be nice if AMD donated some engineer time to the gcc team...especially for Hammer!

      299,792,458 m/s...not just a good idea, its the law!

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    5. Re:AMD should support GCC enhancements by Glock27 · · Score: 2
      Why do all Linux users think that AMD is somehow more Linux friendly than Intel is? AMD is out to make the beaucoup bucks and the beaucoup bucks are in the Microsoft using populace, not a population that is smaller than a margin of error. AMD does not automagically become the friend of Linux simply because it is a competitor to Intel which Linux users see as the Great Satan Jr. It is in AMD's best interest to like Microsoft because they need Microsoft's users in order to make money. They've got a 64-bit chip coming out in the near future, they need an OS to stick on top of it that people have a desire for. Selling a handful of these processors to Linux users isn't exactly going to keep AMD in the black.

      There will be a big demand for AMD 64 bit systems running Linux. Those (expensive) server processors and chipsets will actually provide more profit margin than the desktop chips, which are largely used for Windows (though you might be surprised at the actual percentage of Linux).

      Linux is growing fast for both desktop and server use, and my guess is that AMD is used by lots of savvy Linux techies. AMD would do very well to court that crowd, since it is influential on buying decisions. I think AMD would be well advised to improve gcc optimizations for Athlon.

      299,792,458 m/s...not just a good idea, its the law!

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
  78. Can someone answer... by Spoing · · Score: 2
    ...why is Intel's C/C++ even an also-ran?

    OK, it's interesting as an experiment in Intel-specific compilers. As a baseline when testing out any new x86-compatable processors, it's probably a critical tool. But otherwise?

    Seriously: Why even bother?

    As for proclaiming GCC dead...please. Speed benchmarks and compilers are notorious PR pieces. I can't think of a better example of pure sensationalism. Disagree? Prove me wrong.

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    1. Re:Can someone answer... by Anonymous Coward · · Score: 0

      How about calling another company pure evil and condemning every single god damn thing they do as an attempt to control the Internet?

      It has been working so far.

  79. Re:Nope by Anonymous Coward · · Score: 0

    If they don't mod all those things down, Slashdot would become a chaos, the home of trolls and flamers (oh wait, it already is).


    The moderators should mod up interesting discussions, not mod down those that don't fit their agenda.

  80. Re:Take over? I think not... by anonymous+loser · · Score: 5, Insightful
    • You should say "open source," because saying it isn't free is ambiguous even in your mind, and downright wrong in an accountant's mind. This isn't the show-stopper you seem to imply it is. People have been using and will continue to use closed-source compilers for many, many years. Take a look at the popularity of VC++, Watcom, Borland, etc. in spite of the free (as in open source and $$$) availablility of GCC on Windows.
    • No, they didn't compile kernels. They compiled (and tested) ON multiple kernels. Don't you feel silly now, contesting so loudly a point you misinterpreted? I happen to do a lot of engineering design and analysis, and work with people who would be quite interested in saving nearly 50% of their computation time when performing analysis, especially when some analyses take as much as 3 days of computation time. This translates directly to a very large and real cost savings for a company.
    • Well, perhaps it will allow the GCC compiler folks a glimps into some of the optimizations Intel managed (by studying the output produced), which will in turn allow the GCC writers to rethink GCC's optimization strategies. Those improvements would hopefully benefit more platforms than just Intel.


    Next time the zealot in you decides to come raging out, take a deep breath and count to 10. Think about how this news might be good for the open-source community before you begin bashing wantonly.

  81. hum by Anonymous Coward · · Score: 0

    GCC is evolutionary not revolutionary :) And the Intel compiler article is too emotional, with big words. Sorry. I'd have to ses a running kernel compiled with icc perform 47% better than gcc.

  82. you just don't get it by markj02 · · Score: 5, Interesting
    You have a fundamental misunderstanding of what open source is all about. Open source is not about producing the "best" software, it is producing about a variety of software that people can pick and choose from and adapt to their own needs. GNU C may not be the compiler I need, but unlike Intel's or Microsoft's compiler, I can hack GNU C and make it fit my needs.

    Now, as for GNU C and benchmarks, GNU C has never produced the fastest code on any platform. Unless you lived under a rock and never did any high performance computing, you'd know that. And if you took the time to look at the GNU C documentation, you'd also know that this is no accident. But to most GNU C users, this fact never mattered. GNU C generates decent code and it has many other attributes that make it the "best" compiler for many applications.

    You see, there is another misunderstanding that you and Bill Gates share: you think that there is a single "best" solution to everything. In real life, there isn't. What is "best" for you isn't necessarily "best" for me, and there may well be no way to reconcile our conflicting needs in the same piece of software.

    I do agree that Slashdot moderation tends to exclude voices like yours and I think that's wrong. Why? So that one can point out how uninformed and confused you actually are.

    1. Re:you just don't get it by Anonymous Coward · · Score: 0
      You have a fundamental misunderstanding of what open source is all about. Open source is not about producing the "best" software, it is producing about a variety of software that people can pick and choose from and adapt to their own needs.


      Classic slashdot-ism. When you're losing the open source argument, redefine the terms of competition.

    2. Re:you just don't get it by spasmatik · · Score: 1

      You're kidding right? If its not about producing the best software how will it succeed? if the goal of OSS is just to provide options that's all most of it will ever be, just another option. there seems to be too much confusing of socio-politcal agendas and what is technically superior.

    3. Re:you just don't get it by markj02 · · Score: 2
      If its not about producing the best software how will it succeed?

      There is no such thing as "the best software". Microsoft can hack on Visual C++ for the next 100 years, and it still won't be "the best software" for me--that's because Microsoft's user community and I have irreconcilable preferences and needs.

      if the goal of OSS is just to provide options that's all most of it will ever be, just another option. there seems to be too much confusing of socio-politcal agendas and what is technically superior.

      Providing options isn't a socio-political agenda, it's a technical and engineering issue. The ability to read and modify source code means that a software author doesn't have to anticipate every need any user may have and doesn't have to document every obscure behavior. Whatever oddball functionality I want in a piece of software, I can add myself. That may not matter to you, but it matters to enough people to make open source software popular and successful. And it is something closed source software, by definition, cannot deliver.

  83. Patents by anpe · · Score: 2

    I've read once that most of code optimizations couldn't be implemented in GCC because they were patented by Intel or IBM or , does anyone as info about this ?

    1. Re:Patents by herbierobinson · · Score: 1

      They certainly weren't patented by Intel. [Most of the work in this area was done prior to 1990... Intel only made silicon then.] IBM has some patents, but there is apparently a lot of prior art that makes them pretty toothless. There were a lot of papers published in the 70's about the Bliss optimizing compiler that cover most of the optimization techniques.

      --
      An engineer who ran for Congress. http://herbrobinson.us
  84. Re:The end of gcc 'cause intel's compiler is faste by Nissyen · · Score: 1

    I completely agree. Other companies have produced optimized compilers which have had better performance that gcc, such as The Portland Group and Kai (which is now part of intel... go figure) and they have not shut down gcc. Gcc is a good, free compiler. The rest may be faster, but not worth the price for most of us.

  85. Re:Take over? I think not... by Marillion · · Score: 2

    Compaq released Linux versions their C/C++ compiler suite for the Alpha chip a few years ago. A few adopted it for their internal applications. If I recall correctly, I think one of the digital visual effects firms compiled their renderer using it and got a 5% to 10% improvement.

    However, GCC is universal. It runs everthing, targets anything and costs nothing. Nothing in terms of both Beer and Speech.

    --
    This is a boring sig
  86. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    hey, you're a fattie arent ya. NICE PIC

    seriously though, the point is gcc is slower than the intel one on standard stuff. Noone is talking about your preacious linux kernel. I agree its a great free compiler, but if you're making something where you need speed.. it blows :)

  87. Re:The end of gcc 'cause intel's compiler is faste by IronClad · · Score: 1
    This sound somewhat like a bit biased comparison

    I am very suspicious: Jack Fegreus (open-mag's editorial director) may hail from a biased background. A simple search on Google brought up tidbits from his past like:

    Jack Fegreus, my former boss at Digital Review , is now the editor of the Windows NT-centric BackOffice Magazine .

  88. Re:GNU is no longer the driving force behind free by Ray+Dassen · · Score: 5, Informative
    What breakthroughs has there been in RMS-led projects in the last - say - 5 years? I can't think of any.

    So? The GNU project does not have a mission statement that includes "produce major breakthrough every couple of years". The FSF's top level page has a couple of links that are essential when trying to evaluate its success: why we exist (as relevant as ever), what we provide and where we are going.

    But of course, that's just my opinion, so flame me.

    I rarely flame people for their opinions. I occasionally flame people who clearly haven't bothered to try to understand what they're talking about and who don't let facts get in the way of their opinions. You seem to fit that category nicely. In particular, your comment "I think we need a lot more non-GNU involvment for gcc (gcc-foundation?) to get some fresh blood into this project. And if RMS doesn't allow that, we need a fork." shows you to have little understanding of gcc's development process. Gcc's development process was broken open in 1999 (by the FSF effectively admitting the failure of its cathedral-style development model of gcc 2.8.x and embracing the bazaar-style development model of the EGCS fork) and has an effective foundation (in the form of the GCC steering committee), as anyone who has read the GCC FAQ or is familiar with gcc's history knows.

  89. Compiler Speed by motox · · Score: 1

    Changing the compiler to improve the speed of a program is braindead anyway. To me a compiler has to be -reliable- not just "fast", most optimizations that really make a difference are implemented at the algorythm level, or through hand-coded assembly.

  90. this isn't exactly news by markj02 · · Score: 5, Insightful
    GNU C has never generated the best code for any platform--it purposely traded off retargetability for ultimate performance. Sun's compilers easily beat GNU C on SPARC, and even on the 68k there were proprietary compilers that generated better code. Anybody who has done any high performance computing with GNU C should know that, or they should perhaps start working in a different field. What GNU C does offer is decent performance, consistency across platforms, multiple integrated language front-ends, and some very useful extensions and features. Those advantages usually far outweigh a moderate performance gain.

    I do a lot of high performance computing with GNU C. It doesn't matter to me how fast the Pentium works with some oddball proprietary compiler--the performance I get with GNU C is the performance an Intel-based machine has for my purposes. If that's less than optimal, that just makes Intel's platform less attractive. If Intel wants to do something about that, they should invest in improving the GNU C backend.

    1. Re:this isn't exactly news by Anonymous Coward · · Score: 0

      ...or maybe you should use the right compiler for the job at hand. GNU C and 'high performance computing' don't belong in the same sentence, sorry.

    2. Re:this isn't exactly news by markj02 · · Score: 2
      GNU C and 'high performance computing' don't belong in the same sentence, sorry.

      As I was saying, the GNU C optimizer is known not to be the best in the world. What you don't seem to get is that it doesn't matter. A performance difference of, say, 30% corresponds to maybe half a year in hardware evolution. Do you buy a new machine every six months? I don't.

      Also, C optimizers are largely irrelevant for high performance computing--ANSI C simply does not permit important optimizations. You either have to do them by hand for your inner loops, you have to write them in FORTRAN, or you have to use some non-standard language constructs or compiler options.

  91. Who cares by MrIcee · · Score: 1
    Who cares that INTEL can optimize C and C++... they make processors for that stupid MICROSOFT platform... those are TOYS.

    I'll stick with REAL computers running a REAL OS (UNIX) and not companies who are controlled by the MS MARKETING MONKEYS.

    1. Re:Who cares by Anonymous Coward · · Score: 0

      Who cares that INTEL can optimize C and C++... they make processors for that stupid MICROSOFT platform... those are TOYS.

      http://www.intel.com/software/products/compilers/c 50/linux/
      Now Available for Linux...

  92. Re:Take over? I think not... by God_Retired · · Score: 1

    It's not free software.
    Who cares?


    I do, troll. I can't believe how many clueless people are making their way onto /.. I am very thankfull for people like RMS who remind people that linux is as much a political or moral statement as a technical one. Luckily, or not, gnu software stands on its own technical merits. Where it doesn't it still stands on its own morally or politically.

    If Intel really wants to help drive linux, why don't they look at the gcc compiler and submit patches. Or if they are too weak to do that, release their compiler under GNU.

    You get what you pay for.

    Very true. I pay with my time, conscience and code. What do you pay with. Oh, yeah $. I hope you are proud.

  93. Faulty by norwoodites · · Score: 0

    The benchmark is not right; someone could be running something will the gcc version was running, they used time instead of clock which gives better resolution and gives only time the program has been running.

  94. no, it isn't by markj02 · · Score: 2
    Sorry, even a 50% performance improvement on some benchmark isn't going to get me to switch to some proprietary compiler. I have used "fast" proprietary compilers from Sun, IBM, and others. Each of them usually has their own idiosyncracies and problems. So does GNU C, but with GNU C, they are the same on all platforms, and they actually get fixed in a finite amount of time. And with all of those compilers, you can usually structure the code that it will run fast (manual unrolling, manual constant folding, etc.).

    If you see something in particular in GNU C that you don't like or that seems inefficient, fix it or at least report it. Don't just whine about it.

  95. So what? by Anonymous Coward · · Score: 0

    GCC is free Intel's compiler isn't AFAIK. A commercial compiler would "have to be better" in order to be viable.

  96. Closed Compiler by Ashcrow · · Score: 1

    Thats nice, but it doesn't mean the end of GCC. Besides the fact that GCC is the offical gnu compiler it also works great. A littl eextra speed is nice, but working across platforms with the same compiler is much nicer.

  97. Re:The end of gcc 'cause intel's compiler is faste by dhogaza · · Score: 3, Insightful

    As someone who spent about twenty years of his life as a professional compiler writer, no, that's not the problem. My company marketed compilers for Pascal, Modula-2, C, C++ on the PDP-11, Vax, M68K, Sparc, N3200, MIPS and x86 (not all languages on all platforms). All based on a single technology.

    We routinely beat the system vendor's offerings on benchmarks and (more importantly) real programs.

    And we went broke a decade ago, oh well. Compilers became a commodity and we didn't figure out the consequences in time...

  98. Comment on your signature, moderate down by fire-eyes · · Score: 0

    Your signature rocks. I'm pissed that I wasn't that creative now heh.

    I was just singing along to it to hehe. Maybe we should come up with a full version of that.

    --
    -- Note: If you don't agree with me, don't bother replying. I won't read it.
  99. Re:Hello Slashdot Moderators by arcade · · Score: 0, Troll

    I just gave away a couple of high karma accounts on Slashdot because of:

    Haha! So, 'high-karma' accounts is a commodity. How stupid is it possible to get?

    If your ISP is fuckwits, switch ISPs, don't complain here.

    If that was to techincal for you, go bugger off.

    --
    "Rune Kristian Viken" - http://www.nwo.no - arca
  100. Experience with the Intel Compilers by ChaoticCoyote · · Score: 2

    Note that Intel's compilers are available free for non-commercial work. I've written reviews of the Intel compilers, and my experiences suggest that Intel does, indeed, produce faster code than does gcc -- although not to the extent claimed in the Open Magazine article.

    I'm no fan of Intel per se; read my article and Intel's responses for a full story. However, I'm not going to ignore Intel's delivery of high-quality Linux compilers for C++ and Fortran.

    I'm using the Intel compilers (C++ and Fortran) for development of multiprocessing application; Intel supports OpenMP and gcc does not. Overall, I'm very happy with the Intel compilers, and recommend them to any serious developer. It never hurts to have more than one compiler, no matter what platform you're working on.

  101. Kernels === benchmarks (not Linux) by wscott · · Score: 3, Informative

    You have to understand benchmarking people. When they say kernels they mean benchmarking kernels. Small contained programs that extract key loops or algrothmns from larger programs.

    They have a suite of keys loops where each is inportant to someone (fft, lloops, matrix mul, 3d geom, etc..) and determined that in general Proton (the internal codename) is much faster than GCC. Of course it is.

    If only it was free. Unfortunatly, Intel built that compiler on several other companies IP and can't release the source.

  102. Exactly. by aepervius · · Score: 1

    I was working in Quantum Chemistry (number crunching for those which do not know what's about). We had a linux Cluster for some short calculation. For everything like graphics visualiser, OS related, Install package etc... etc... we used GCC. Why ? Because we wanted a sure result, a safe install. But for the application we *knew* needed a boost in FLOAT performance, like compiling the quantum chemistry software, we used Portland group Compiler. So In effect when building the Linux Cluster, gcc was used, but only for an application we used a processor specific good optimised compiler. And mainly because we could afford it...

    --
    C. Sagan : A demon haunted world:
    http://www.amazon.com/gp/product/0345409469/
    visit randi.org
  103. Shame, shame by Anonymous Coward · · Score: 0

    Intel's compiler make faster code than GCC?

    And you guys call yourselves "Cygnites?"

    Shame!

  104. Not quite interesting... by PianoMan8 · · Score: 1

    Yes, intel's compiler is faster. For intel chips. However, I have heard reliable sources say that Intel's compiler is guilty of the same problems that a lot of "vendor specific" compilers suffer from... It is great for compiling SPEC, but not much else. For starters, the front end is not GCC compatible, so you can not compile the linux kernel with it. Secondly, many times, it sacrifices precision for performance. Ask the creater of ScienceMark.

    This isn't to say that GCC doesn't need help. One of the biggest areas GCC needs help in is prefetch analysis. This would benefit all platforms, especially RISC and x86... Other compilers have had this optimisation for a looong time, and I bet that the addition of it to GCC would easily make up 60-70% of the difference with intel's compiler.

    Other reasons the intel compiler won't replace GCC:

    1) Only optimised for intel X86 CPU's. What about all the PPC, MIPS, Sparc people? What about AMD?

    2) Doesn't support "GCC-ism's" in the pre-processor (many codes won't compile without modification.)

    3) Closed source, binary only.

    4) If you really need it, you can get closed source compilers with better performance (for intel and AMD chips) from other sites. Do a google search for "OpenMP, Linux, C" and see what i mean.

    just my 2 cents..
    pm.

    --
    - --
    "I Hate Quotes" -- Samuel L. Clemens
    1. Re:Not quite interesting... by norwoodites · · Score: 0

      Prefetch analysis for loops is some what in gcc3.1 (going to be released in April). -fprefetch-loop-arrays is the option and you have to -msse to get the prefetch instructions, also the option, -fmove-all-movables, is for "Force all loop invariant computations out of loops" which helps and so does -fomit-frame-pointer.

    2. Re:Not quite interesting... by akihabara · · Score: 1

      Prefetch is being worked on; 3.1 may have a partial implementation.

  105. Ummmm... didn't they design the chip by Keith+Gabryelski · · Score: 5, Insightful

    Let me get this straight.

    Intel is happy that their compiler can beat another compiler?

    I'd hope so... They designed the damn chips, had a head start, have cash money to buy a few smart compiler dudes .. you'd think they'd have enough pride to work on a compiler until it was the best it could be.

    It is interesting to see Intel pick on GCC. They are in the CHIP BUSINESS... A compiler (any compiler) helps them.

    You'd think THEY would be the ones to release a compiler into open source so they could get the rest of the world looking at how to do even more optimizations for their chips.

    GCC has been out there for well over a decade. Open to anyone to improve ... or just stare at.

    Intel could show us all how to make a better compiler. Open up their source code... but someone might improve on their techniques and that would make them sad. So, instead they berate a compiler that has done them only a service.

    Just my thoughts. Yours may vary.

    1. Re:Ummmm... didn't they design the chip by Bender_ · · Score: 1
      Intel could show us all how to make a better compiler.

      They did. EGCS which was later migrated to GCC 2.95 is already based on lots of modificactions done by intel and given back to the community. Just look at some 2.95 vs. pre 2.95 Benchmark to see how much they have already done.

      It is just that intels full time compiler experts seem to be vastly ahead of the rest. They also beat MSVC by length, not to speak of intel FORTRAN.

    2. Re:Ummmm... didn't they design the chip by Dwonis · · Score: 2

      Maybe Intel will open the source, eventually. Right now, they're probably just trying to get a quick return on their investment from people who want a fast compiler now.

    3. Re:Ummmm... didn't they design the chip by CyberKnet · · Score: 1, Flamebait

      You, sir, are an idiot.

      Let me get this straight.
      And that, from you, would be a very, very large accomplishment. Unfortunately, you failed.

      Intel is happy that their compiler can beat another compiler? I'd hope so... They designed the damn chips, had a head start, have cash money to buy a few smart compiler dudes .. you'd think they'd have enough pride to work on a compiler until it was the best it could be.
      Probably. They invest a lot of money in these things. About the only point right you got in your whole damned convoluted post.

      It is interesting to see Intel pick on GCC. They are in the CHIP BUSINESS... A compiler (any compiler) helps them.
      Okay. So. You COMPLETELY miss the fact that this was Open Magazine. How convenient. (Guess who didnt read the article... *gasp*)

      You'd think THEY would be the ones to release a compiler into open source so they could get the rest of the world looking at how to do even more optimizations for their chips.
      As indeed they have. Check out egcs.

      GCC has been out there for well over a decade. Open to anyone to improve ... or just stare at.
      No prize for guessing which one of those YOU did

      Intel could show us all how to make a better compiler. Open up their source code... but someone might improve on their techniques and that would make them sad. So, instead they berate a compiler that has done them only a service.
      Berate? Oh yeah, that was open magazine. (again). My bad.

      Just my thoughts. Yours may vary.
      And that is pretty bloody likely.

      --
      Video meliora proboque deteriora sequor - Ovidius
    4. Re:Ummmm... didn't they design the chip by Anonymous Coward · · Score: 0
      "GCC has been out there for well over a decade. Open to anyone to improve ... or just stare at."
      So... how many more decades before gcc catches up to the speed of this version of the intel compiler? How much faster will the intel compiler be at that time? And of course, did it take intel a decade to achieve that speed? I think not.
    5. Re:Ummmm... didn't they design the chip by Imperator · · Score: 2
      It is interesting to see Intel pick on GCC. They are in the CHIP BUSINESS... A compiler (any compiler) helps them.


      No. GCC makes it much easier to port your code to other platforms. This is exactly what Intel doesn't like about it.
      --

      Gates' Law: Every 18 months, the speed of software halves.
    6. Re:Ummmm... didn't they design the chip by Anonymous Coward · · Score: 0

      EGCS was worked on by Cygnus, not Intel. Am I right?

    7. Re:Ummmm... didn't they design the chip by 3247 · · Score: 2
      You'd think THEY would be the ones to release a compiler into open source so they could get the rest of the world looking at how to do even more optimizations for their chips.
      No. As of now, their CPUs are the only ones that profit from their optimizations. If they released the source code, the same optimization techniques might be introduced into compilers for other platforms.
      (On the other hand, their optimizations heavily rely on features only present in their CPUs.)
      --
      Claus
    8. Re:Ummmm... didn't they design the chip by King+of+the+World · · Score: 0
      It is interesting to see Intel pick on GCC. They are in the CHIP BUSINESS... A compiler (any compiler) helps them.
      Other compilers are cross-platform. GCC isn't. Blah blah, blah blah blah blah HELLO KIDDIES
    9. Re:Ummmm... didn't they design the chip by sql*kitten · · Score: 2

      It is interesting to see Intel pick on GCC. They are in the CHIP BUSINESS... A compiler (any compiler) helps them.

      You're right, it is strange, and also they charge money for VTune, their tool for optimizing code for Intel processors. You would think that they would want to get their own development tools into as many hands as possible in an attempt to get ISVs to write apps that favored Intel over AMD.

      But Intel have the money to hire very smart consultants, so there must be a good reason, maybe related to anti-trust worries.

    10. Re:Ummmm... didn't they design the chip by dylan_- · · Score: 2

      Well, you're quite right...and I would have modded you up (since I have some points ATM), but I decided not to simply because you posted rudely, instead of pointing out the flaws in his argument politely.

      Slashdot is bad enough without relatively low uid posters adding to the noise.

      --
      Igor Presnyakov stole my hat
    11. Re:Ummmm... didn't they design the chip by Tower · · Score: 1

      Actually the article mentioned that the Athlon showed similar gains from the Intel compiler...

      --
      "It's tough to be bilingual when you get hit in the head."
    12. Re:Ummmm... didn't they design the chip by Tower · · Score: 1

      >You would think that they would want to get their own development tools into as many hands as possible in an attempt to get ISVs to write apps that favored Intel over AMD.

      Note that in the article it says: "AMD Athon-based systems benefited equally with Pentium III-based systems."

      --
      "It's tough to be bilingual when you get hit in the head."
  106. The new intel compiler used to be Kai C++ by Karma+Star · · Score: 5, Informative

    We use Kai (or KCC) at work, and it is truely a remarkable product. It's a two-stage compiler - it generates C code native to the platform your working on, then calls the compiler/linker for that platform to compile it. The idea here is that the native compilers for any given platform will be able to optimize for that platform. So Kai just optimizes what it can and dumps it out into C code, then calls the native compiler/linker with optimizations on to recompile that code into the executable. The Kai C++ compiler was ported to Windows, Solaris, Linux, IRIX, etc., so there was the added benefit that any code written with Kai in mind would compile easily across other machines.

    Kai and GCC are very similar in concept, except that Kai was a bit of a "higher end" compiler. Think of GCC being the Toyota of compilers, and KCC being the Lexus of compilers. You may pay the extra bucks just for the optimization/cross-platform abilities that Kai has - but most normal folk don't need it.

    Unfortunately, Kai got purchased by Intel, and (from what I see on their site) they seem to be dropping the other platforms to support only intel. Really, the Intel compiler is really the Kai compiler, but only for Intel. In fact, Kai (Kuck and Associates Inc.), is now part of Intel. Personally, I think this sucks, since Kai really is a superior product compared to any other C++ compiler out there, if you will to pay the extra $$$...

    --
    Me email iz skyewalkerluke at microsoft's free email service.
    1. Re:The new intel compiler used to be Kai C++ by pangur · · Score: 1
      Think of GCC being the Toyota of compilers, and KCC being the Lexus of compilers.

      I just think it's worth knowing that Toyota makes the Lexus brand of cars. In Japan, where they care more about quality, the same cars are sold under the Toyota logo as "higher end" lines. But here in status-conscious USA, we see Lexus and go, "Oooo...", not knowing its just a higher-end Toyota. "Lexus" goes to some lengths to obscure that fact, but inside the doors of the cars, it says "Toyota Corporation".

      I brought that up because your statement was insightful in a way you may not have meant.

    2. Re:The new intel compiler used to be Kai C++ by Anonymous Coward · · Score: 0

      I think he knew that when he made the comment. Otherwise, why pick Toyota and Lexus as examples

    3. Re:The new intel compiler used to be Kai C++ by SquadBoy · · Score: 1, Offtopic

      Given that every single person I know knows this fact I think the original poster might have meant just what you are pointing out. :)

      --

      Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
    4. Re:The new intel compiler used to be Kai C++ by FastT · · Score: 1

      Well, I didn't know that, so thanks to the original poster for mentioning it. There's no need to rag on him/her for mentioning something "you and every single person *you* know" knows. It's a bigger world than your circle of friends.

      --

      The only certainty is entropy.
    5. Re:The new intel compiler used to be Kai C++ by Mike+Bedy · · Score: 1

      It is not the KAI compiler, it's the same Intel compiler that it has been for a long time. KCC is still a different compiler.

    6. Re:The new intel compiler used to be Kai C++ by crealf · · Score: 1
      Unfortunately, Kai got purchased by Intel, and (from what I see on their site [kai.com]) they seem to be dropping the other platforms to support only intel. Really, the Intel compiler is really the Kai compiler, but only for Intel.

      No, Intel, like some other chip/OS manufacturer (former DEC w/ Alpha), has its own compiler. Which is heavily worked on, to get decent SPECint/SPECfp figures ; with the added bonus that they can both test the chips and the compilers to see what chip design ideas are good and what are wrong "good ideas" in practice.

    7. Re:The new intel compiler used to be Kai C++ by Anonymous Coward · · Score: 0

      Similarly in Europe Toyota just sells Toyotas, no Lexuses...(and Honda sells just Hondas, not Acuras).

    8. Re:The new intel compiler used to be Kai C++ by cakoose · · Score: 1

      I can't see how the original poster could have meant that, unless you consider KAI's/Intel's compiler a subsidiary of GCC.

    9. Re:The new intel compiler used to be Kai C++ by jweatherley · · Score: 1

      You get Lexus cars in the UK, check out this link.

      BTW how many more off topic car posts before CmdrTaco gives us all a collective bitchslap?

      --

      --
      Reverse outsourcing: it's the future
  107. GCC obsolete? Don't think so. by WillWare · · Score: 2
    I was surprised by this: the magnitude of the performance differential in numerically intense applications is such that only the most dramatic sort of improvement in the long-awaited version 3 of the GNU C/C++ compiler will stay the hammer that drives a stake through the fibrillating heart of the aging technology behind the GNU C compiler. The suggestion is that GCC is technologically obsolete. That sounds like horseshit to me.

    To be fair to the reviewers, I'll refer to the 2.95 GCC manual, even though manuals for 3.0, 3.01, 3.02 and 3.03 are already online. The sections dealing with GCC's "technology" are primarily sections 14, 16, and 17. There are gobs of optimizations in GCC, and lots of them are specific to target architectures. The way to define new architecture-specific optimizations is mostly spelled out in section 16. The means for doing this appears to be very general.

    A fair criticism of GCC's technology would be to say that optimizations have not yet been defined for recent Intel processors, and Intel's compiler already has them. To say GCC could never have them sounds like a lie. The nice thing about GCC's open-sourceness is that people contribute new optimizations. Intel-specific optimizations would be keenly interesting to a lot of GCC users, and the only reason they wouldn't happen would be that Intel hadn't released enough architecture information to make them possible.

    Perhaps the hot new compiler technology about which the reviewers are so thrilled is the trade secret?

    --
    WWJD for a Klondike Bar?
  108. Trojan code by linux_warp · · Score: 1

    I would just like to remind everyone that performance is great, but not at the expense of security. Does anyone remember that example of the compile that inserted its code into the login command?

    Without this compiler being open source, how can anyone trust it? Who is to say that the FBI program is not in the code, and won't provide them a easy backdoor into our systems?

  109. quick icc vs. gcc test with bzip2 by O · · Score: 1

    Hi, I did a quick test with bzip2 on linux-2.4.17.tar(.bz2). With gcc, I used the default optimisations ("-O2") that bzip2's Makefile has, and with icc I changed that "-O2" to "-O3 -tpp6 -xK". Not that much of a difference. This is on a dual Pentium III 750Mhz machine, although it's only using one processor.

    gcc bzip2

    real 2m15.671s
    user 2m12.690s
    sys 0m1.630s

    gcc bunzip2

    real 0m40.445s
    user 0m35.390s
    sys 0m2.910s

    icc bzip2

    real 2m6.991s
    user 2m3.940s
    sys 0m1.650s

    icc bunzip2

    real 0m36.950s
    user 0m31.810s
    sys 0m2.990s

    --

    1, 1, 2, 3, 5, 8, 13, 21 -- Mathematics is the Language of Nature.
  110. Is this news really? by Anonymous Coward · · Score: 0

    I really don't get why anyone in their right mind use that GCC crap, there isn't much that good about it. On many platforms it even generates the wrong code sometimes.

    1. Re:Is this news really? by Anonymous Coward · · Score: 0

      0


      hello

      this is gay
      and so are you

      %3C%2Fhtml%3E
  111. Re:GNU is no longer the driving force behind free by Anonymous Coward · · Score: 0
    Don't confuse GNU with the Free Software Movement (FSM), which is led by the FSF.

    The GNU Project was a technical project started by RMS. It is completed. The goal was to create a free unix-compatible operating system. That has been done. It's reached critical mass. Companies like IBM can now take over the maintenance because it's in their interest to do so. That was the point (see the GNU Manifesto) but most people said it would be impossible at the time the GNU Project started.

    The goal of the FSM is socio-political --- promoting the idea of freedom for computer users. That is ongoing work.

  112. That's not entirely true. by Anonymous Coward · · Score: 0

    There is still the overhead of the process scheduler and the virtual memory system.

  113. I continue to be amazed... by ChaoticCoyote · · Score: 2

    ...at the reactionary attitude of supposedly intelligent people.

    Who said that gcc is obsolete? What a ridiculous notion! Intel's compilers may be fast, but they are Intel specific -- gcc is a amazingly portable, cross-platform tool. Why can't the two tools be complementary instead of antagonistic? I'm building code for clusters of multiprocessor, Intel-based computers; for such work, the Intel compiler is exceptional and provides tools (OpenMP) that gcc does not have. Yet gcc is my compiler of choice for other projects where portability is paramount.

    Narrow minds are limited minds.

    I'm all in favor of lots and lots of tools for various platforms; competition is good. It amazes me that Open/free software advocates complain incessantly about monopolies, but then take offense when someone treads in their sacred territory. Intel, Borland, and other vendors will provide impetus for the evolution of gcc -- and that's a good thing.

  114. Re:Take over? I think not... by dstone · · Score: 2

    It's not free software.

    So? Neither is anything by Microsoft and they have taken over. I'm not saying it's right, but it's true and it ain't free.

  115. What is the MacOS's compiler? by Anonymous Coward · · Score: 0

    I heard it is GCC, am I right?

    1. Re:What is the MacOS's compiler? by MikeV · · Score: 1

      I believe there is a port of GCC that works with MPW. I use MPW the way it is to compile code on Mac that I wrote and worked with on Linux and it works great. Haven't gone beyond it to the GCC port yet...

    2. Re:What is the MacOS's compiler? by yomegaman · · Score: 1

      The Mac OS X developer kit comes with gcc 2.95.4 (presumably not quite stock). The linker isn't GNU though, it's a custom Apple thingy.

      --
      ...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
    3. Re:What is the MacOS's compiler? by Anonymous Coward · · Score: 0

      Mac OS X uses gcc. No MPW.

    4. Re:What is the MacOS's compiler? by Anonymous Coward · · Score: 0

      That wasn't the point, now was it dumbass? The point was that Apple has shipped a free compiler for Mac OS (6.x->9.x) in the form of MPW plus several plugin compilers. Yes, OS X does use GCC for building most of the OS (some apps use CodeWarrior still), but that's not exactly an advantage when their homegrown compiler (MrC) runs circles around GCC. Too bad they didn't just port MrC to output macho code...They'd be a lot faster and have smaller code footprint if they did!

    5. Re:What is the MacOS's compiler? by Anonymous Coward · · Score: 0

      The linker is called dyld (for dynamic ld). dyld was used at NeXT to dynamically load bundles of executable code. Too bad dyld is so damn slow on OS X :(. It takes Microsoft's dynamic linker and Mac OS 9's CFM (Code Fragment Manager) much less time to load executables and shared libraries than dyld.

    6. Re:What is the MacOS's compiler? by Anonymous Coward · · Score: 0

      Too bad dyld is so damn slow on OS X :(. It takes Microsoft's dynamic linker and Mac OS 9's CFM (Code Fragment Manager) much less time to load executables and shared libraries than dyld.

      It's because dyld loads shared libraries on a module-by-module basis, deciding to activate any given module in the shared-library only when one of its symbols is referenced for the first time by the application. (In the Classic MacOS, MS-DLL, UNIX so/ld and the VAX/VMS RTL world, the entire shared library is activated when the application first begins running, whether or not the user needs to access the functionality of the application that relies on the shared library or not.) Remember that Apple and Amiga got burned badly because memory prices shot-up so much in the mid-late 1980s. It is no wonder that such a feature was built into the core of NeXT. With any luck, they will port the Mac-specific stuff (Quartz, Carbon, Cocoa) from Darwin over to PPCLinux now that 10.1 is out and they can catch their breath a little. PPCLinux runs circles around OS X 10.1 on the same machine, and with KDE, it is pretty cool --but nothing out there is as cool as Aqua (though you don't realize it until you've been using it for a week or so).

  116. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    "It's not free software. "

    And thats supposed to mean jack?

  117. A real life experience by pgolik · · Score: 1

    I tried it on a computationally intensive program I use in my work (PAML) - plain C (not C++), on my PIII 1GHz Linux it runs about 35% faster compiled with icc with all the optimizations turned on than the gcc code (-O3 -march=i686 -mcpu=i686). This is a significant gain when my typical run of the program takes ~2 days at 90% CPU usage.

  118. But how does it compare to agcc? by Compenguin · · Score: 1

    How does this intel compiler compare to drs's agcc (as opposed to pcg's) optimized for pentium class and athlon chips. It can't handle the kernel but it can take just about anything else.

  119. Re:The end of gcc 'cause intel's compiler is faste by Anonymous Coward · · Score: 0

    Once the rockets are up, who cares where they come down!

    ... That's not my department, says Wehrner von Braun.
  120. Re:Take over? I think not... by zsazsa · · Score: 2, Flamebait

    Biting at the troll ...

    It's not free software.

    It's free as in beer for uncommercial uses - go ahead and download it yourself. The only problem seems to be that they say it's just for RedHat or TurboLinux. However, it seems like it just puts itself in /opt and leaves things alone, thankfully. They did get it to work under SuSE.

    geometric mean performance on multiple kernels compiled through it reached 47% improvement over GCC.

    The testing didn't involve compiling kernels at all


    I believe this misunderstanding comes from the fact that they called their different benchmarks "kernels" for some reason.

    Ian

  121. This is great news! by alexhmit01 · · Score: 3, Insightful

    Wow, everyone that I saw posting apparently believes that their home computer is the end all and be all of computing. You're an idiot.

    Look, we only use a handful of Linux machines, so we aren't likely to use this. However, if I was rolling out 1000 workstations in my enterprise, and we were tweaking/tuning the OS before rolling it out, recompiling with this would work.

    Assuming Red Hat makes compiling under the Intel compiler a requirement for inclusion in their distribution, they're in a great situation.

    Why not compile everything with an optimized compiler? You still have the freely redistributable GCC for compiling open source code, but for stuff that is being downloaded in binary format, wouldn't you want it to run faster?

    Does it compile quicker? Who cares. When you are doing software development, you want something that compiles quickly. When you are rolling out a production environment, free speed is good.

    Look, your precious GCC is terrific, it is a flexible, cross-platform compiler. It's always been week on the performance. The GCC team has always made it clear that the biggest problem ISN'T processor-specific tweaks, its general compiler improvements that are patented.

    GCC is a baseline, things should compile with it. Things should also compile to the POSIX standard. That doesn't mean you don't add tweaks on the platforms that you support and set it up so that ./configure figures out which to use.

    Give me a break. I realize that many of you just use Linux to configure and tweak Linux to the point that you can post on Slashdot about how you can do anything with Linux. However, those of us that have included it as one of our tools to solve problems can use ANY tools that are made available to us.

    If I can get a 47% performance improvement by recompiling some of my applications, terrific. Replacing the server may be cheap in terms of hardware (a few grand for a new server every 6-12 months isn't bad, its one of the few reasons to use x86 servers), but it takes time. Building and testing new hardware is easily 2-3 man-weeks before TESTING (expensive, look at your salaries and double it to estimate costs to the company), recompiling on your test machine and testing is just the testing time.

    Alex

    1. Re:This is great news! by nijhof · · Score: 1
      Assuming Red Hat makes compiling under the Intel compiler a requirement for inclusion in their distribution, they're in a great situation.

      What, and not include the linux kernel?

      Jeroen Nijhof

    2. Re:This is great news! by 3247 · · Score: 2
      If I can get a 47% performance improvement by recompiling some of my applications, terrific. Replacing the server...
      The average server does not do heavy number-crunching. First, the impact of CPU speed is very low for most server tasks; often the CPU just waits for harddisk, network interface, etc.
      Then, only "numerically intense CPU performance improved by 47%" (quote from original article). For applications other than number-crunching, such as normal user applications or daemons, you won't get such big improvements ... if you'd get improvements at all.
      --
      Claus
  122. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    If you think that free software is a political stance, fine. However your comment about Intel being weak makes you sound like a typical gimmie-gimmie free beer type, and very clueless yourself. Intel has dumped millions of dollars into RedHat, VA, Cygnus to improve your system.

  123. Intel's compiler doesn't always beat GCC by PeterM+from+Berkeley · · Score: 2

    Hello,

    I tried Intel's C++ compiler on a pentium 4 running Linux. (Yes, they have an evaluation verson of their compiler for Linux.)

    The results were disappointing on my own pet benchmark: the scientific simulation I use.

    The Intel C++ compiler produced code 2x slower
    than gcc. I used "naive" optimization flags
    like -O3, etc.

    PM

  124. Who cares about performance? by Tom7 · · Score: 2


    Who cares about performance?

    Seriously.
    Everything on my computer runs plenty fast at the instruction level except for:

    mprime (distributed prime search, though I think this is written in hand-tuned x86 asm)
    quake 3 (my video card is the bottleneck, and I also believe that speed-critical parts are written in hand-tuned x86 asm)

    I suppose I should include multimedia encoding as well. (I am not sure how these were written. Maybe a faster compiler really would help here, if I had the source to recompile.)

    Being faster is nice when it comes at no cost, but I say it is one of the least important goals of a compiler. Much more important is being reliable (doesn't make mistakes, doesn't crash, is compliant with the language definition if it exists), being available on many platforms, and in this case, being Free software. If GCC gets these optimizations, great for them, I will upgrade. But I consider a move to the Intel compiler a downgrade because (though it may have better performance) it fails at least at portability and freedom.

    (By the way, I think that the way they summarize their numbers is quite misleading. The geometric mean really exaggerates those two benchmarks that Intel creams GCC on (probably because the Intel compiler recognizes some loop idiom that it knows how to compile efficiently). What I saw looked like an average 10%-20% better performance, with a few outliers.)

  125. Optimizations and Patents by GnrcMan · · Score: 4, Insightful

    One of the biggest hurdles in getting GCC's optimization up to snuff with closed source compilers are patents. Optimization is a patent minefield. Compaq's got 'em for specific optimization techniques they use in their Alpha compiler, Intel's got 'em for their compiler, Microsoft has them as well. Kinda skews the playing field.

  126. For numerical apps, this is a huge win. by Anonymous Coward · · Score: 0

    For the majority of linux users this doesnt matter, because the majority of linux users dont do anything productive with their machines anyway. They are too busy downloading child porn. But for people who do numerical work, this is a huge win. For scientists and engineers these compilers are a must have. For you typical linux lusers this wont help you be any more lame than you already are.

  127. Re:The end of gcc 'cause intel's compiler is faste by Anonymous Coward · · Score: 0

    How? That he's biased towards editing computer magazines?

    Do you only accept your agitprop from central committee-approved sources?

  128. Re: GCC Steering Committee by ghutchis · · Score: 2, Informative

    http://gcc.gnu.org/steering.html

    I think you'll find GCC development currently to be some of the most transparent and open of any project out there. Period.

  129. Intel compiler vs. GCC by Erich · · Score: 2
    I have one application that I use that I compile with a target-specific compiler. I use SparcWorks at Work to compile our development tool when I need to do big, long jobs. We do most of the main development with GCC. Why?

    • GCC is a good compiler. It has some handy extra features (macro varargs), produces sensible warnings, and works "good enough" for most development. It also works nicely with gdb.
    • The GNU tools are extremely robust. There have been several times when I've had to go in and change things due to bugs (limitations) with Solaris sed or cc. Like trying to get sed to work on the really long lines of text that the preprocessor generates sometimes.
    • The GNU tools are there on all platforms. I can, without modifying the Makefile significantly, compile the same tool on my Windows box, or a Linux or Mac box that someone might have at home.
    And, the most important reason why I, like most people, don't need Intel's CC on a regular basis:
    • Usually, SPEED DOESN'T MATTER. Okay, so you compile your kernel and all your apps with intel's compiler. My computer (duron 600) is fast enough for what I need to do: editing files with vim, browsing the web with Galeon, playing music and video clips, SSHing to other computers. rc5des gets most of my CPU time. If I needed a perforance boost in the CPU, I could easily get one with 2x the performance for cheap. But for now I don't.

    Sure, there are applications where speed is important, and for those having a platform-specific fast compiler can help. For most things, though, the advances in CPU performance has made the need for an ultra-optimized compiler somewhat useless for most applications that people use.

    If your vim is slow, it's probably due to a slow disk or insufficient memory on your long file. If your galeon is slow, it's probably due to insufficient memory or low bandwith. A new compiler probably won't help you.

    --

    -- Erich

    Slashdot reader since 1997

  130. Re:Take over? I think not... by CoughDropAddict · · Score: 3, Insightful

    * You should say "open source," because saying it isn't free is ambiguous even in your mind, and downright wrong in an accountant's mind. This isn't the show-stopper you seem to imply it is. People have been using and will continue to use closed-source compilers for many, many years. Take a look at the popularity of VC++, Watcom, Borland, etc. in spite of the free (as in open source and $$$) availablility of GCC on Windows.

    You're comparing apples and oranges when you try to argue that since Windows people use closed-source compilers, then Linux people will also. These are completely different groups of people, and I suspect that plenty of people in the Linux community will start using a closed-source compiler when they pry the gcc source from their cold, dead hands.

    * No, they didn't compile kernels. They compiled (and tested) ON multiple kernels. Don't you feel silly now, contesting so loudly a point you misinterpreted?

    Christopher wasn't the misinterpreter, Slashdot was. Did you read the text he quoted? "the new Intel C/C++ compiler's geometric mean performance on multiple kernels compiled through it reached 47% improvement over GCC." You cleverly omitted the bolded text.

    Next time the zealot in you decides to come raging out, take a deep breath and count to 10. Think about how this news might be good for the open-source community before you begin bashing wantonly.

    Chill. Chris wasn't being a zealot, he was simply offering counterarguments to the ridiculous claim that Intel's closed-source, x86-only, C/C++ only (I bet) compiler spells death for GCC.

  131. Another Intel/GCC 3 comparison (Oct 2001) by wolruf · · Score: 2, Interesting

    There's another Linux-only comparison between Intel 5.0.1 and GCC 3.0.1:
    http://coyotegulch.com/hpc/intel_gcc_bench1.html

    --
    wolruf@gmail.com
  132. News? by vidarlo · · Score: 0

    This has been published long time ago...M,A LinuxMagasinet in Norway. GCC has about an third of the performance of comercial compilers

  133. Reasons the MS-based conclusions are flawed by Anonymous+Brave+Guy · · Score: 2

    Some interesting "choices" seem to have been made in the analysis here. Let's look at a few.

    Firstly, why are we comparing a brand new Intel compiler with a Visual C++ version that is several years old? The full VS.NET is now shipping to MSDN subscribers, and will be publicly available next month. They do mention VS.NET at one point, but it's still horribly biased. They admit that it's 25% faster than 6.0 in unspecified tests, based on a beta version, and we all know how much benchmarks of betas are worth. Try comparing the results with Microsoft's own showcases for their new optimisations in VS.NET, on a real version of VS.NET, and see how much the conclusions depend on your chosen benchmarks. They even have a go at the installation, because (quelle surprise) it takes longer to install VS.NET (a whole development suite) than it takes to install the Intel C++ compiler. Well, duh.

    Next up, we seem to be judging the compilers based purely on geometric mean performance generating numerically intensive code. That's a very, very limited metric, and in fact totally irrelevant to many people.

    Why geometric mean? That's an odd choice, for a start, and AFAICS is never justified in the article.

    Why numerically intensive code? Most real code isn't, so where are the comparisons for the rest? The /. headline is grossly misleading.

    Why is speed of generated code the only factor worth considering all of a sudden? A factor of 3/2 in the performance of generated code is relevant to the scientific community, but few others. The quality of the rest of the generated code, the level of support for the C++ standard, the quality of supplied libraries, etc., are all much more important to most real developments.

    I don't know much about GCC, so can't really form an opinion on the conclusions there. But the MS-based conclusions of the article are grossly misleading.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  134. Speed doesn't matter by Anonymous Coward · · Score: 0

    Your statement "Speed doesn't matter" implies that you are fucking lame dumb-ass. Nearly all the code I have(radiative transfer stuff) runs much faster with ifc and icc. This means savings of hours per day for me. For you I guess it doesnt matter because the work you do must really suck dick, why don't you try to do work that doesn't suck dick? Probably you are to busy sucking dick to consider that.

  135. WTF? by Anonymous Coward · · Score: 0

    Why was this modded down? It is 100% true.

  136. icc sometimes generates wrong code by thkoch · · Score: 1

    I have testet serveral compilers on a heavy numerical code (simplex algorithm) and it's about 15% faster the gcc.
    BUT icc has a long tradtion on generating incorrect code. Years ago on SCO UNIX it compile TeX somewhat inccorect with all optimization on, and it did the same with our code now. But even with the rest it is faster then gcc.
    But the same goes for the Compaq Compiler on Alpha, the Sun Compiler on Sparc and the HP Compiler on HPPA. But only one Compiler of them is free and runs everywhere! GCC.
    icc is obviously tunes towards SPEC benchmarks and will give best results there. So the effect it gives will allways overestimated.

  137. Re:Take over? I think not... by kma · · Score: 1

    Perhaps there's a bit of confusion here. In the scientific computing/benchmarking world, "kernel" refers to an inner loop of a compute-intensive program that has been extracted for benchmarking purposes. There's no dishonesty here; they're just using a definition of the word you haven't encountered before.

  138. Is that a good thing, though? by Anonymous+Brave+Guy · · Score: 4, Interesting
    GCC is the only compiler you can count on being present on every Linux (or BSD) system. Thus most code released is going to continue being compilable by gcc, and it's going to remain the baseline for source distribution.

    Is that a good thing? Internet Explorer dominates the web browser market for much the same reasons, whether or not there are better alternatives available. Now we have a proliferation of web sites that only work with IE instead of standard HTML, and all the other well-documented problems.

    It would be an advantage for the Linux world if it was easier to port code from other platforms. Most of that code isn't written with GCC, it's written with VC++, C++ Builder, CodeWarrior, etc. If you're going to do this, standards compliance and ease of portability are very important.

    I don't know how good GCC is these days; it used to have quite a good reputation for standard compliance and quality of generated code, but that was a couple of years back. If it hasn't kept up -- I said "if", because I don't think this article demonstrates that either way -- and the Linux community religiously stick with it based on philosophical arguments rather than technical merit, surely they'll just be shooting themselves in the foot?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Is that a good thing, though? by Anonymous Coward · · Score: 0

      Dude, it's not because GCC isn't standards compliant that you can't just, say, recompile a Mac program on Linux. The reason is that each platform has its own unique libraries APIs, system resource layouts, etc. This is more than just C/C++ language standards. If you want a standard that *does* allow you port like that, start with POSIX or Single Unix Spec. But then you don't have DOS or Windows or Mac OS Classic or the special Mac libraries in OS X or etc.

    2. Re:Is that a good thing, though? by Vulture_ · · Score: 1
      • GCC is Free Software. Microsoft Internet Explorer is anything but. If Internet Explorer were Free Software, standards wouldn't matter because whatever Internet Explorer does would become a de facto standard (and would probably wind up getting standardized in a future version of the W3C specification -- not something Microsoft is about to allow happen).
      • GCC is standards compliant, but it does have some of its own extensions, such as a 'long long' data type in C that's like 'long' but is 64 bits instead of 32.
      --

      The only way the typical /.er can pick up a chick is with a forklift. -- AC

    3. Re:Is that a good thing, though? by Anonymous+Brave+Guy · · Score: 2
      Dude, it's not because GCC isn't standards compliant that you can't just, say, recompile a Mac program on Linux. The reason is that each platform has its own unique libraries APIs, system resource layouts, etc. This is more than just C/C++ language standards.

      Of course it is. However, well-designed large scale applications will isolate the platform-specific libraries as much as possible, to allow for ease of porting, particularly if the possibility of a shift to a different development environment was considered up-front. Porting the low level GUI code and other stuff requiring external libraries is supposed to be the little bit you do at the end. For the remainder of the program -- 90+% of most smartly written source code -- it is standards compatibility and compiler features that count.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  139. Get Intel compiler for free (as in beer)... by acidblood · · Score: 3, Informative

    here. Only for non-commercial use. At least the cost factor will no longer be a problem for some users.

    --

    Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

  140. Remember Watcom C? It's been opensourced. by Reziac · · Score: 2

    Some while ago, in fact (August 2000), based on the final commercial version, 11.0b. Take a look at http://openwatcom.org. And the people in charge are the cream of the Watcom community. They're being slow and careful (and remember this is a volunteer project by people with day job, so it's being done in their copious free time), but knowing this crew, they'll do it RIGHT.

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  141. Re:Take over? I think not... by chriso11 · · Score: 1

    Well, not everyone is a "open source or nothing" zealot. I care greatly about performance - stability AND speed. So if a closed source compiler can provide a significant improvement in performance, I'm not going to rule it out because it's name isn't GNU.

    --
    No, I don't trust in god. He'll have to pay up front, like everybody else.
  142. PGCC Compiler Claims Same Performance Improvement by sabat · · Score: 2, Interesting

    The Pentium Compiler Group (look here) has a compiler patch to optimize GCC for the Pentium family. It's been out for years -- my company uses it and we notice great improvement -- and claims about the same performance gain as this "new" intel compiler. Interesting thing is, it was based on patches from INTEL!

    From the PCG FAQ:

    1.18 Where did PGCC come from?

    When Intel released the Pentium some of their team produced a version of gcc with enhancements which gave 30% speed improvements on some benchmarks. Having demonstrated the improvements possible, they stopped development and released the code.

    PGCC came from this work and further enhancements of the Intel code that had been produced. It aims to improve the stability of the compiler and to carry on improving the quality of the generated code.

    1.19 How much speed improvement can I expect?

    The 30% achieved by the Intel engineers is rare in the real world. Typically, the improvement will be about 5% using an intermediate optimization level like -O3 and no fine-tuning. Sometimes the 30% can be achieved - gzip-1.24 unzips about 20%-35% faster - but don't bank on it.

    ---
    The interesting thing here is the note that the Intel engineers supposedly stopped work on the code. Apparently, they didn't.

    Anyway, I recommend checking this out if you want to stick with GCC. The optimizations that work the best:

    gcc -O6 -march=pentiumpro

    The pentiumpro switch will also optimize for PII and PIII (and presumably PIV).

    As with the intel compiler, don't try to build the Linux kernel with this.

    --
    I, for one, welcome our new Antichrist overlord.
  143. 65% increase in codesize for the Intel compiler? by jelle · · Score: 4, Interesting

    So I downloaded the Linux_cpu.zip

    It contains a shared and a static library, and two binaries. Full of symbols, so I stip them

    61124 bytes in libcxa.a
    49356 bytes in libcxa.so.1
    90380 bytes oblcpu_gcc
    131736 bytes oblcpu_icc

    $ ldd oblcpu_*
    oblcpu_gcc:
    libm.so.6 => /lib/libm.so.6 (0x4002b000)
    libc.so.6 => /lib/libc.so.6 (0x4004d000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
    oblcpu_icc:
    libm.so.6 => /lib/libm.so.6 (0x4002b000)
    libcxa.so.1 => not found
    libc.so.6 => /lib/libc.so.6 (0x4004d000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    Ok, so the icc version needs the shared library to be loaded as well.

    $ size libcxa.so.1 oblcpu_*
    text data bss dec hex filename
    22839 3008 124 25971 6573 libcxa.so.1
    70563 15860 1923912 2010335 1eacdf oblcpu_gcc
    93858 24236 1923768 2041862 1f2806 oblcpu_icc

    Codesize for gcc: 70563 bytes
    Codesize for icc: 93858 + 22839 = 116697

    Hmm, that is a 65% increase in code size! Not to mention the increase in data size (can anybody say 'lookup table' or 'buffering'?)

    Hmm... I wonder if they tried gcc optimizations such as '-funroll-all-loops'. Too bad they didn't provide the source so we could verify the results.

    I got a free evaluation CD from Intel with the February issue of "Linux Magazine", so I'll be doing my own comparisons thank you.

    --
    --- Hindsight is 20/20, but walking backwards is not the answer.
  144. SSE performance, or real world? by -tji · · Score: 2

    Much of the optimization he discusses in the article are based on optimizing MMX and SSE scenarios. Does gcc even use these features of the x86 CPU's?

    In a benchmark environment, it's very easy to come up with examples that shine with SSE. But, it's much harder for real world applications.

    The Intel compiler may very well be more efficient than gcc. But, I highly doubt that it is ~40% faster in real applications.

  145. Re:Take over? I think not... by Sentry21 · · Score: 2

    However, GCC is universal. It runs everthing, targets anything and costs nothing. Nothing in terms of both Beer and Speech.

    And sucks on all platforms.

    Which is fine, because that's what it's for. Intel's compiler does one thing great - x86 C/C++/Fortran compilation. GCC does many things in mediocrity - Java, C, C++, Fortran, Objective C, on PPC, Alpha, MIPS, PaRISC, x86, blah blah.

    GCC is omnipresent and will continue to be so, but people who want the big power will pay the big bucks.

    Was Loki compiling with GCC? If so, how much faster would their games have been with this compiler? Hell, Myth II was actually playable on my Cyrix 133 in software mode, if they could get this kind of optimization, it could prove that, in a lot of cases, Linux is great for things that people think it isn't so good for.

    --Dan

  146. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    I pay with my time, conscience ...

    Oh really, what kind of charity work do you do? Feed the poor? Teach people to read?

  147. It's not 47 percent on my app by Chang · · Score: 4, Interesting

    The gain is obviously highly dependant on the application.

    I tested the Intel compiler against GCC using Robert Hyatt's excellent crafty chess engine and the speedup was only 7%. (Athlon 1.2Ghz)

    On a PIII-500Mhz the speedup was only 2.5%

    Of course for other application results with vary, but I for me the Intel compiler isn't worth the money or the effort.

    Hats off to the GCC team for building one of the greatest tools of all time. You can't beat GCC for sheer usefulness and ubiquity.

    1. Re:It's not 47 percent on my app by Mr.+Frilly · · Score: 1

      The article got me fairly excited, so I rushed to try the intel c compiler with some medical image reconstruction code we use in the lab.

      On a PIII-1GHz, I'm seeing ~5% improvement in speed versus gcc-3.0.3 (with all optimizations), and ~7% on a Celeron-400.

      Decent improvement, but not that amazing, and not worth throwing away IEEE floating point compliance (as talked about in a post below) when we need to do data analysis on the results.

  148. Re:The end of gcc 'cause intel's compiler is faste by nusuth · · Score: 1
    What I wrote was what I gathered from gcc mailing list, and some gcc developers answers to such questions over time. I'm not in a position to judge their accuracy or your accuracy for that matter.

    My intuition is that if you design intermediate code as independent as possible from both source code and architecture, you lose the ability to perform some optimizations which are traditionally done on intermediate code generation stage. How did your company overcome this? Can gcc be fixed after all?

    --

    Gentlemen, you can't fight in here, this is the War Room!

  149. umm... mingw anyone? by yerricde · · Score: 2

    From the article:

    what really makes the Intel compiler so very interesting is the fact that it delivers the same instruction sequences on both Linux and Windows platforms.

    Um... duh! GCC for Windows/x86 and GCC for Linux/x86 also produce the same instructions. This shows that the Open Magazine writers have no ability to use Google, as a simple search for Windows GCC turns up MinGW as the second result. (The first result is Cygwin, which by default uses a more heavyweight C library.)

    --
    Will I retire or break 10K?
  150. It's not surprising commercial compilers do better by pfdietz · · Score: 1

    If a commercial compiler did worse than gcc on a platform gcc supported well, it would rapidly cease to exist. So any surviving commercial compilers must have better performance.

  151. GCC can't generate 16-bit code by yerricde · · Score: 5, Informative

    Fortunantly, GCC just about compiles on everything with a CPU

    "Unfortunantly," last time I checked, GCC doesn't generate code for 8086 or 80286 processors, only i386 and up, so you can't build an OS that's backwards-compatible with legacy 16-bit apps with GCC.

    --
    Will I retire or break 10K?
    1. Re:GCC can't generate 16-bit code by Vulture_ · · Score: 1

      Maybe parent was referring to everything with a decent CPU? ;)

      --

      The only way the typical /.er can pick up a chick is with a forklift. -- AC

  152. So what's the alternative? by yerricde · · Score: 2

    > GCC is the only compiler you can count on being present on every Linux (or BSD) system.

    Is that a good thing? [IE example]

    No. However, is there a compiler released as free software (or heck even only freely redistributable) that outperforms GCC? It's not like IE, where there exist multiple free web browsers (Mozilla and Konqueror).

    Most of that code isn't written with GCC, it's written with VC++, C++ Builder, CodeWarrior, etc. If you're going to do this, standards compliance and ease of portability are very important.

    This is not a compiler issue as much a library issue. Most free apps written in C are written in either ANSI C89 or something that approximates C99 (that is, GNU C). A Mac Cocoa application ported to BSD links against GNUStep; a Windows app links against winelib.

    If ... the Linux community religiously stick with it based on philosophical arguments rather than technical merit, surely they'll just be shooting themselves in the foot?

    What about economic arguments? Most hobbyists do not have $500 to spend on an Intel compiler license, and distribution vendors surely can't charge that per copy. Nothing will get bundled with the standard free operating system distributions that is not at least free to redistribute and to use for any purpose.

    --
    Will I retire or break 10K?
    1. Re:So what's the alternative? by Anonymous Coward · · Score: 0

      The hobbiest licence is free.

      And the compiler doesn't need to be bundled with distributions, but the distros could build binaries with it for only $500. (Although aren't most Linux distros only compiled for the i386 anyway, ignoring what i686 optimizations exist in GCC?)

  153. Open Watcom has NOT been released yet by yerricde · · Score: 2

    [Watcom C++ has been released as open-source software] Some while ago, in fact (August 2000), based on the final commercial version, 11.0b. Take a look at http://openwatcom.org

    I did, and they still don't have a release up. It's not open source until it has been licensed to at least one third party under an open-source license.

    They're being slow and careful

    Some would say "too slow." At this rate, x86 will be dead and we'll all be using Hammer and Itanium processors by the time Open Watcom comes out.

    --
    Will I retire or break 10K?
    1. Re:Open Watcom has NOT been released yet by Reziac · · Score: 2

      Hi Damian, long time no talk to :)

      Yeah, I checked (both the site and the newsgroups) after I posted that, and they've pushed back the expected release point yet again. One big hangup was extracting all the code that Sybase didn't own and couldn't release -- apparently Legal took a long time even to get going on this and the process is taking WAY longer than was expected.
      But Stephen Howe (one of the prime movers) says it's still coming along, so perhaps we'll live to see it :)

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  154. Will this matter? by Restil · · Score: 2

    If you're a developer, working with the latest hardware, how long does it take to recompile your code?

    Probably not very long. Chances are good, if you're smart, everytime you compile you're recompiling one or two objects at a time. Not the entire codebase. Does it matter if it takes 2 seconds rather than one second? Do you ever notice? Would you care?

    All this means, is that on one architecture, gcc has room for improvement. Yet gcc works on damn near everything. Intel's does not. Its all give and take.

    -Restil

    --
    Play with my webcams and lights here
    1. Re:Will this matter? by ergo98 · · Score: 1

      The compile time isn't the relevant fact: It's the runtime of the generated code. The GCC compiler is notorious for not optimizing code of specific platforms (putting cross-platform as more important) so this result is hardly surprizing.

  155. $500 times 500,000 by yerricde · · Score: 1

    So? $500 is almost the same thing as $0 for any company.

    But $500 times 500,000 isn't. This is why GCC and not Intel CC comes with Linux distributions, because GCC is at least free to redistribute. Besides, not all developers work for a large firm.

    --
    Will I retire or break 10K?
  156. Is the Intel compiler free? by Anonymous Coward · · Score: 0

    If not, GCC is going nowhere.

  157. Let me get this straight by volpe · · Score: 2
    First you suggest that the key to wide distribution is Open Source alone:

    The article itself states the compiler itself is not open source. So how's this going to cause it to be chosen over GCC when it (probably) won't be distributed to the same degree as GCC?

    Then you make the following analogy:

    Q: Why do people use MS-Office?
    A: Because its there.

    Q: Why will people use GCC?
    A: Because its there!

    You just contradicted yourself. MS-Office is not Open Source and it appears to be doing just fine.
    1. Re:Let me get this straight by Anonymous Coward · · Score: 0

      he meant it in context.
      in the MS world, people use MSOffice because it is there. it is the one that everyone uses simply because it is the one everyone else uses.

      same goes with gcc. of the people using gcc, they use it because it is there.

      this doesn't really contradict the first thing he said. the first part was saying thant since inte's compiler is not opensource, and will not be accepted in an opensource world.

    2. Re:Let me get this straight by cymen · · Score: 1

      Open up your brain and adjust a few things:

      1) Microsoft platform = closed source(*). Microsoft Office is loaded on practically every single corporate PC out there and at least half of all home machines.

      2) Linux platform = open source(*). GCC is open source. GCC is on every single linux server and desktop with the development stuff loaded.

      I don't see the contradiction. You might see it if you were a pedantic asshole only concerned with logic instead of a realistic world view.

      * generalizations - generalizations don't cover all cases, included this in case you are a pedantic monkey butt... Of course there are open source apps on Win32 and closed source apps on Linux but we are talking majority.

    3. Re:Let me get this straight by volpe · · Score: 2


      Open up your brain and adjust a few things:

      You're off to a bad start already.


      1) Microsoft platform = closed source(*). Microsoft Office is loaded on practically every single corporate PC out there and at least half of all home machines.

      2) Linux platform = open source(*). GCC is open source. GCC is on every single linux server and desktop with the development stuff loaded.


      This was exactly my point. These similarities between the successes of opposing business models serve to refute the notion that something won't be accepted if it isn't open source.


      I don't see the contradiction

      I'll try to contain my surprise


      You might see it if you were a pedantic asshole only concerned with logic instead of a realistic world view

      Ad hominem: -1

    4. Re:Let me get this straight by volpe · · Score: 2


      this doesn't really contradict the first thing he said. the first part was saying thant since inte's compiler is not opensource, and will not be accepted in an opensource world.


      Are you saying he was making two completely different and unconnected points? At best, his example is a non-sequitur. At worst, it contradicts what he said. I still see an implication that if something isn't open source, it's not going to be successful, followed by an example showing a case where business model doesn't affect success.

    5. Re:Let me get this straight by cymen · · Score: 1

      LOL. I still disagree with you but the ad hominem attacks were stupid. My point is that the post you were replying to obviously put the two worlds of closed source and open source in different areas and didn't say the same rules apply to both. That's conjecture but I think it is simply obvious from the post. So I still maintain you were/are being rather pedantic but each to his own.

      In other words you're picking at his words instead of the world he is looking at. Can you say boring? And now, for the ultimate irony, I'm doing the same. Boring...

  158. if you don't have the sources, it ain't software by Anonymous Coward · · Score: 0

    hence it sucks.

  159. At least free as in beer by yerricde · · Score: 1

    So if a closed source compiler can provide a significant improvement in performance, I'm not going to rule it out because it's name isn't GNU.

    Few hobbyists and freelance developers have $500 to spend on a compiler. I'll use a proprietary compiler if I have to, but it at least has to be freely redistributable.

    --
    Will I retire or break 10K?
  160. Power of gcc by maxxon · · Score: 1

    The power of gcc is not its raw speed. Raw speed, as we all know, is becoming less and less of an issue these days. What makes gcc valuable is its portability, its extensive warning facilities (try comparing them to Visual C++ to see how awful another compiler's warning facilities can be), and its Standards compliance (less so with C++ but improving). Pure number crunching is not the final word in any kind of software, and has not been for a while.

    --
    max
  161. pretentious? by h4x0r-3l337 · · Score: 1
    A bit pretentious

    Point out the shortcomings of an open source product, and suddenly you're pretentious.
    Be real guys, if the Intel compiler beats gcc, then instead of saying "gcc will live because it is open source", and "the article is a bit pretentious", you need to get off your butt and FIX GCC!

  162. Its output is not GPL compatible by yerricde · · Score: 1

    It's free as in beer for uncommercial uses

    According to your link: "This compiler includes no support and cannot be used to produce products for resale or commercial use." This means that freelance consultants can't use it. Also, it cannot be used to compile binaries with the GNU General Public License, as the GPL prohibits such a restriction on resale of software licensed thereunder.

    I believe this misunderstanding comes from the fact that they called their different benchmarks "kernels" for some reason.

    Benchmarks are often called "kernels" because they consist of core inner loops representative of applications. Yes, this is confusing with the term "kernel" used to describe the core of a particular operating system (namely, the Linux® kernel), but the term persists. You can't compile Linux with the gratis version of Intel's compiler because of the restrictions on resale of its output.

    --
    Will I retire or break 10K?
    1. Re:Its output is not GPL compatible by Wesley+Felter · · Score: 2

      What if I compile a GPL'ed app and don't distribute the binary? Certainly the GPL doesn't restrict me in that case, because the GPL only restricts redistribution.

    2. Re:Its output is not GPL compatible by Anonymous Coward · · Score: 0

      GNU says this in their GPL FAQ:

      I'm writing a Windows application with Microsoft Visual C++ (or Visual Basic) and I will be releasing it under the GPL. Is dynamically linking my program with the Visual C++ (or Visual Basic) run-time library permitted under the GPL?

      Yes, because that run-time library normally accompanies the compiler or interpreter you are using.


      Now, if one can use a proprietary compiler and libs on Windows, why couldn't one do the same thing on Linux? ...

      Don't forget that the GPL only requires that you distribute source with the binaries. It does not require that you distribute the compiler you used.

      You either don't understand what you are talking about or you are FUDding big time under the mistaken idea that ICC is actually some sort of threat to GCC.

    3. Re:Its output is not GPL compatible by be-fan · · Score: 2

      The reason you can't compile Linux with icc isn't licensing, but actual compatibility. icc doesn't support many non-standard gcc extensions that the Linux kernel uses.

      --
      A deep unwavering belief is a sure sign you're missing something...
  163. Imprecise floating point! by sasami · · Score: 5, Insightful
    The article doesn't bother to mention what compiler flags were used to optimize the benchmarks.

    The Intel compiler does not generate precise floating-point code by default!

    From the compiler documentation:
    Option: -mp
    Description: Favors conformance to the ANSI C and IEEE 754 standards for floating-point arithmetic.
    Default: OFF
    Looks like we can't even have IEEE compliance, we can only favor it. More gory details can be found in the manual (warning, big PDF...), but the "optimizations" that shocked me most were:

    Division may be replaced with multiplication by the reciprocal The long double type is identical to normal double "Truncating" from float to integer is actually round-to-nearest!
    These are all defaults. Trading precision for speed can be a lifesaver sometimes, but not in numerical analysis!

    --
    I like canned peaches.
    --
    Freedom is not the license to do what we like, it is the power to do what we ought.
    1. Re:Imprecise floating point! by avsed · · Score: 1

      Please think about these before you write - precision is a very subtle concept when one is considering numerical techniques!

      Replacing division by multiplication is fine (a/x = aq exactly if q=1/x) - compilers have been doing this for as long as I've been coding (at least a decade in other words). Multiplication is usually faster than division on an FPU (certainly true for x86), so it is almost always better to have this optimization. There is *no* loss in precision with this optimization.

      Truncation of a float to an integer - exactly how else should truncation be performed if not rounding to nearest integer? Have you ever done any numerical analysis?

      There's nothing in your post that should shock you or anyone else; if you do numerical computation on an x86 platform you should know, or at least be aware of, the idiosyncracies of the floating point unit (80 bit internal storage, stack based registers, etc).

      Dan

    2. Re:Imprecise floating point! by mamba-mamba · · Score: 1

      Yeah, I kind of wondered about what switches they were using with gcc. When I read the bit about how icc was more pedantic than gcc and vc++ in default mode it sort of raised my eyebrows. Default mode? You mean they are doing a comparison between a super-optimized single-platform compiler and a more portable compiler and they don't even bother to turn on any optimizations on the portable compiler?

      I mean, it sounds as if the default Intel compiler's behavior is like gcc with the -ffastmath switch. Did they invoke gcc with -ffastmath? Who knows. The article didn't say.

      MM
      --

      --
      By including this sig, the copyright holders of this work or collection unreservedly place it in the public domain.
    3. Re:Imprecise floating point! by Anonymous Coward · · Score: 0

      > Is this a troll?

      Smells like one.

      > .. perform truncation as if you called "floor", that is the smallest whole number not greater than the argument.

      floor!=truncate :

      floor(3.5)=3.0, but floor(-3.5)=-4.0
      truncate(3.5)=3.0 truncate(-3.5)=-3.0

      "convert/cast to int" is often neither of the above, unless the compiler is strictly ANSI C enforcing, in which case it should be truncate.

    4. Re:Imprecise floating point! by sasami · · Score: 1
      Please think about these before you write - precision is a very subtle concept when one is considering numerical techniques!

      Indeed, I don't work with numerical code very much, and not at all on x86. (What I do is low-level embedded stuff, and I get vaguely nervous when compilers generate code that I don't expect.) Nevertheless, the manual was pretty clear about the impact of these optimizations, which is why I linked to it.

      Replacing division by multiplication is fine (a/x = aq exactly if q=1/x)

      I admittedly oversimplified this one. Multiplication by reciprocal is obviously fine, conceptually. It's the compiler's implementation that is not precise. The fudge is only an edge case, but it's a pretty big one:

      With some optimizations [...] the Intel® C++ Compiler changes floating-point division computations into multiplication by the reciprocal of the denominator. For example, A/B is computed as A x (1/B) to improve the speed of the computation. However, for values of B greater than 2^126, the value of 1/B is "flushed" (changed) to 0. When it is important to maintain the value of 1/B, use -prec_div to disable the floating-point division-to-multiplication optimization. The result of -prec_div is greater accuracy with some loss of performance.

      Truncation of a float to an integer - exactly how else should truncation be performed if not rounding to nearest integer? Have you ever done any numerical analysis?

      Truncation does not mean round-to-nearest. Or, to be more specific, the truncation operation in ANSI C/C++ does not mean round-to-nearest. It's simply not correct behavior -- and fortunately, I was wrong about this being a default. It defaults to OFF, as well it should. Rounding doesn't happen in C unless you ask for it.


      the idiosyncracies of the floating point unit (80 bit internal storage, stack based registers, etc).

      Being familiar with these idiosyncrasies wouldn't have helped me realize that the 80-bit long double was being "optimized" to a 64-bit ordinary double. I imagine I would also have wasted a lot of time trying to figure out why library calls were failing:

      Use -long_double to change the size of the long double type to 80 bits. The Intel compiler's default long double type is 64 bits in size, the same as the double type. This option introduces a number of incompatibilities with other files compiled without this option and with calls to library routines. Therefore, Intel recommends that the use of long double variables be local to a single file when you compile with this option.
      --
      I like canned peaches.
      --
      Freedom is not the license to do what we like, it is the power to do what we ought.
    5. Re:Imprecise floating point! by avsed · · Score: 1

      Years ago I worked with the Watcom compiler on x86, which was considered to be a pretty agressive optimizing compiler. Such FP hacks were all in use back then, and one would quite commonly obtain "wrong" numerical results in optimized builds. Unfortunately, I've seen at least one major difference between optimized and debug (non-optimized) builds in every compiler technology I've used, from HP and Sun's offerings to MS VC6++ - all of them stemming from too agressive optimizations or unspecified assumptions. The big advantage of GCC is then the ability to compare across multiple platforms - if you're in a hetrogenous computing environment (as most research institutions and big companies are) - you can just retarget the same source for a different platform. If the optimized builds are then giving the same numbers (still different from debug), something's up in the optimizer and the assumptions it's making...

      Dan

    6. Re:Imprecise floating point! by dvdeug · · Score: 2

      Looks like we can't even have IEEE compliance, we can only favor it.

      The difference between that and GCC is that GCC has the "favor IEEE" on by default. All the gory details are in the GCC mail archives, but GCC is no wonder of IEEE conformance, either.

  164. It is buggy! by Anonymous Coward · · Score: 0

    icc with -O0 works but -O1 fails terribly on compiling something complicated like "root" (http://root.cern.ch), which works on something like 30 different platforms. icc -O0 is much slower than g++ -O2 for that software. Here even gcc-2.96 works OK.

  165. Compilers are designed to make things easier by yerricde · · Score: 1

    Well, that is a philosophical question weather the compiler should compensate for a programmers lack of talent or not.

    In that case, why even have compilers? Why not require all programmers to be talented enough to write assembly language directly?

    --
    Will I retire or break 10K?
    1. Re:Compilers are designed to make things easier by StarBar · · Score: 1

      In that case, why even have compilers? Why not require all programmers to be talented enough to write assembly language directly?

      The language doesn't matter. The algorithms used are much more important than compiler optimizations. Poor algorithms are the reason you need hundreds of Mhz and Gigabytes of disk to be able to write a simple letter these days.

      Just think about it: 500 000 000 CPU cycles every second and still it takes so long to get that word processor up and running! And it's buggy!!

      So let's think about how to write code rather than what the compiler does with it IMHO.

  166. Who cares ? by Anonymous Coward · · Score: 0

    On the S/390 we have a monopoly.

    Now try to beat *that* !

    Toon Moene.

  167. Re:The end of gcc 'cause intel's compiler is faste by Anonymous Coward · · Score: 0

    + 5 insightful? its obvious that not only does
    this user does not have a concept about how modern compiliers
    work, but most slashdotters don't. the reason
    gcc can support many languages and platforms is
    not weakness, but is due to something every modern
    compilier should be using. they're called intermediate
    representation trees. in the end, there are a certain
    level of things that all languages do (like
    having functions or conditionals). also, there are
    a certain level of things that all machines can do (like
    move data to memory or add registers). a good compiler
    will abstract out the language end into an intermediate
    representation that can be used on a wide variety
    of platform specific compiliers. one can optimize
    on all three levels. the language end, the intermediate
    rep, and finally on the machine specific level.

  168. What exactly is the benchmark measuring by crush · · Score: 1

    Reading over this I couldn't figure out what they were measuring with the OBLcpu benchmark. They don't talk about what flags they used, I couldn't find information in the article about what the 34 "kernels" were in the graph. Can anyone throw any further light on this?

    Also, why are they looking at the geometric mean in the first and second graphs?

  169. Re:The end of gcc 'cause intel's compiler is faste by cananian · · Score: 2
    Not only that --- the article doesn't even say which compiler flags they used with the two compilers. For all we know, they could have been testing against gcc *with all the optimizations turned off*! Without more detailed information on how the compiler was invoked, such comparisons are meaningless.

    Also, they're still getting slightly less performance on linux, which --- since their benchmarks are completely OS-independent number-crunchers --- probably means that their methodology was faulty. Did they disable background tasks, for instance? Did they log in single-user?

    I don't trust these numbers at all.

    --
    [ /. is too noisy already -- who needs a .sig? ]
  170. Different tools for different jobs by Anonymous Coward · · Score: 0

    My screwdriver hammers nails better then your pipewrench does.....

    gcc and the Intel ofering are two different tools for two different jobs, and comparing them is not worth the time or trouble. If I am doing in-house work for an all-Intel shop, I'll use the all-Intel compiler; if I'm writing something I want to run on *nix OR NT webservers, I'll use gcc. What's the problem here?

  171. -march=i486 -mcpu=i686 by yerricde · · Score: 5, Interesting

    The hobbyist licence is free.

    But it prohibits selling copies of the compiler's output. Thus, if you make a CD of your software, you probably can't even sell it for $5 to cover duplication costs. Plus, such a restrictions is incompatible with the "no restrictions on selling" language in the GNU GPL.

    Although aren't most Linux distros only compiled for the i386 anyway, ignoring what i686 optimizations exist in GCC?

    AFAIK, the Linux distributions are compiled with something like -march=i486 -mcpu=i686 which means roughly "Use only those instructions available in i486 and up, but schedule for i686." (Source: GCC 2.95.3 docs, info gcc invoking submodel i386)

    --
    Will I retire or break 10K?
    1. Re:-march=i486 -mcpu=i686 by Anonymous Coward · · Score: 0

      So a hobbyist is someone who sells CDs with his programs on them? Garbage. So is your fud that programs built with this compiler are incompatible with the GPL. Pure mushmouth trash from someone who should know better.

    2. Re:-march=i486 -mcpu=i686 by jdavidb · · Score: 2

      You can also check out Linux From Scratch if you'd like to compile with your own optimization options. Personally, even though I tend to compile my Linuces from scratch nowadays, I still don't do any optimization.



      Actually, for my next system, the options will be something more like -march=powerpc. :)

  172. Re:The end of gcc 'cause intel's compiler is faste by Black+Parrot · · Score: 1


    > As long as intel's compiler is not GPL and does not support as many architectures as gcc does

    Shush! You're not supposed to tell Intel that other architectures exist, man! Someone at Intel might be reading this.

    --
    Sheesh, evil *and* a jerk. -- Jade
  173. Quantum improvement ? Not always.. by Anonymous Coward · · Score: 0

    At our work we do fairly numerically intensive
    Finite Element-based engg. simulations. Code
    is mix of mostly C and some fortran doing the
    bulk of the number crunching.
    For our larger runs (~ 1hr on Xeon 1.7Ghz :-)),
    gcc/g77 -O3 with RH 7.1 is about
    20% slower than the Portland group compilers.
    Will be interesting to evaluate Intel compilers,
    but then article says intel owns PG now.

  174. Re:real question is C++ conformance + compiler spe by elflord · · Score: 2
    I couldn't agree more. Even though the code I write needs to run fast, a little extra speed is just not worth the development effort of having to put up with a broken compiler. Once gcc 3.x is at the point where it can compile KDE (which basically means they need to nail down the ABI), I'm not going to look back. The support for the standard is several orders of magnitude better than that in earlier releases.

    Compile speed is also a big issue for me, and I'd guess anyone who compiles C++ code.

    Cheers,

  175. Re:GNU is no longer the driving force behind free by Anonymous Coward · · Score: 0

    Apple contibutes to the GCC but they refuse some of the adds like RISC processor (altivec) support but I think with the new version coming out soon 3.0 GCC you will see a trend toward it being better than others. What I am saying is that the GCC now has the support of apple and that is bigger than you think.

  176. Re:GNU is no longer the driving force behind free by elflord · · Score: 5, Interesting
    > Maybe I'm paranoid, but maybe RMS is not very enthusiastic about C++ support because GNOME would look even worse in comparison to KDE, once a good C++ compiler is available? Paranoid, stupid?

    He actually makes an interesting point. I mean, they released a g++ 3.0 that would not correctly compile KDE. It appears that the associated ABI bugs are not going to be addressed until 3.1. And they've dropped the ball on it badly enough that it's been forked twice over the last few years. Up to and including 2.95.x, there were a lot of very obvious and annoying bugs with g++ (no namespace std, no stringstream class, no ios_base class, etc) I don't see any conspiracy theories, but it doesn't seem that gcc have historically given C++ a very high priority.

  177. IBM Complier is LGPLed. by Anonymous Coward · · Score: 0

    Go to the download page and see. If you click on the free compiler, that's the LGpled one. It doesnt expire.

    Here is the copyright from the file.

    Untar the file and read the lgpltext. Or just run install it shows the same.

    Please undestand IBM is putting this compiler on several licneces, One being an evalutation (30 days licence) and one a free for non commerical use (I'm happy with this).

    Already, mplayer is playing every movie I could throw at it on my HP 4150 (Neomagic - with no XV) without framedrop on fullscreen, it's taking less than 40% cpu now! (compared to max cpu usage earlier)

    1. Re:IBM Complier is LGPLed. by doomy · · Score: 1

      Greetings,

      You need to download the cc010911rh71.tar file, even though it says this file does not have IA64 cross-compiler, it does have it. When you untar, you'd find rpm files.

      On my debian system. I ran alien as root on the intel-icc-5.0.1-129.i386.rpm which created the necessary deb. You dont need any other files on debian. dpkg -i the deb, intel files install under /opt so it's nice to know where they are.

      One other thing you need to do is to add, /opt/intel/compiler50/ia32/lib to your /etc/ld.so.conf and do a ldconfig -v.

      After that you can run the benchmarks from the Linux_cpu.zip file (get it from the article mentioned here). The icc is marginally better than gcc.

      To compile application with icc, you'd need to add icc's path to your makefile or PATH.

      Enjoy

      --
      ...free your source and the rest would follow...
  178. People will start to care about this kind of thing by SilentTristero · · Score: 2
    At my company GenArts, we write image processing plug-ins for high end film and video processing systems. Performance is absolutely key. If it takes an hour to render a sequence, even a 5% gain is important. 30-40% is amazing, and our customers REALLY CARE. We're starting to port our stuff to Linux, e.g. for Shake and the fact that the Intel compiler smokes both MSVC and GCC is important for us. We couldn't care less about compile time; we use CL/GCC for debugging builds, then switch to icl toward the end of the cycle. GCC isn't going to go away any time soon, but anything we can do to get more high-performance real-world apps (like audio and video editors) into Linux (even if only on x86) is good news for the Linux market.

    -- SilentTristero

    ps: to compiler folks, "kernel" means a small bit of highly computational code, usually with no I/O; not an OS kernel. Kernels to them are things like FFT, convolution, and so on.

  179. Re:Take over? I think not... by Bert64 · · Score: 1

    It does not help PPC/Alpha/MIPS/Sparc users, It`s not in Intel`s interest to do so, However Compaq produce an alpha optimized compiler for linux (ccc) which seems to produce noticeably faster code than gcc, but is incompatible with some source that requires various gcc quirks. There is also SUN Workshop compiler for Sparc, and SGI MipsPRO for mips, I`m not sure about PPC, since i don`t have any PPC based computers. But all of the above mentioned compilers produce faster code than gcc.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  180. misleading at best by Anonymous Coward · · Score: 1, Insightful

    The Intel compiler auto-vectorizes. This is not the best thing to do in all cases and there is no evidence the Intel compiler can tell when it is best. Using the SSE2 as a 64 bit FPU unit is better than using the built in FPU but not as good as properly vectorizing your code.

    For example, suppose I am performing a converging FPU calculation. If I use 32bit floating point and vectorize it until the last few calculations that use 64 but I will destroy auto optimized 64 bit all the way through. Or, perhaps I have parallel threads running that I have vectorized myself. One thread is a vector and the other is straight FP. It is possible that the Intel compiler will actually reduce the performance of the code.

    More seriously, these are vastly unfair benchmarks. Benchmarks like these typically involve calculating tight loops of code. In this case, "mathematically intense" code is almost all FP. Therefore, what we are being shown is the worst case scenario for a small piece of simple math code that likely could be hand vectorized for far better performance. If it wasn't a tight loop of FPU code the vectorizer would have 0 benefits. Take the typical application with massive amounts of integer code and FPU code that branches unpredictably and you will get absolutely no benefit from the Intel compiler.

    As a side note, the VAST compiler on PPC does a similar kind of thing and hasn't supplanted or substantially influenced the use of other compilers. This is in light of the fact that it provides a much more dramatic performance boost in that domain.

  181. Re:The end of gcc 'cause intel's compiler is faste by nusuth · · Score: 1

    It is true that I never got much past the dragon book. I wrote a transpiler (C++->C) and a few interpreters (none professionaly) and that's about it. But just how my comment contradicts with intermediate language usage, optimizing on all tranformations is a unclear to me, could you please clarify yourself? All I said is that the focus was not (and still is not) speed in gcc's design, it was not (and still is not) a priority. OTOH if you tie your compiler with a single platform (language and cpu), you can't even focus on anything else, there is nothing else (perhaps except for correctness)

    --

    Gentlemen, you can't fight in here, this is the War Room!

  182. Re:Nope by RedWizzard · · Score: 1, Offtopic
    The moderators should mod up interesting discussions, not mod down those that don't fit their agenda.
    Agenda's got little to do with it. This sort of comment may have been interesting and worth discussing the first 50 times it appeared on /., but now it's rather old.
  183. kernel redefined by ypocat · · Score: 0, Redundant
    What is a kernel? Who is using at least one of their 30 different kernels? Who gives a damn that Windows runs 10% faster if it can't be considered an operating system - in the terms of server use? Today we need stability, portability, open source and low TOC. But those guys apparently don't get it. I can either buy a proprietary Intel compiler which doesn't even compile Linux kernel and forget about others (like BSD), or wait some 3 months and get those "improvements" in hardware in the form of higher clock frequency, but for real.

    Also the article is trying to say, that the code optimized up to 40% over GCC using Intel's proprietary instructions gains the same improvements on AMD.

    Yeah and I'm going to die to get my ass on dot NET.

    "64 kB will be enough for everybody!"

    "What is that Internet, indeed?"

  184. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    "And sucks on all platforms."

    My, what short memories we all have. I remember 1994 when I replaced the Sun compiler with gcc and got a nice speedup. The tables have certainly turned now.

    "If so, how much faster would their games have been with this compiler?"

    Not a whole lot faster. Games and codecs are the last few bits of software where people still write the 1000 or so lines of really performance critical code in assembly. The Myth II software rasterizer was not written in C, so icc can do nothing to it.

  185. Wow, are you stooopid by Anonymous Coward · · Score: 0

    The MS compiler is very inexpensive compared with other commercial compilers.
    The Sun C compiler is more than $1000, and it sucks. Of course, that is typical of commercial Unix offerings. The companies that live by offering and/or supporting commercial Unix believe in outrageous profit margins.

    Now, OSS is the opposite extreme. OSS companies charge money for "free" apps, and pay the programmers nothing. So, while the price is low, the profit margin is "infinite". The OSS offerings also suck, by the way.

    The only quality software produced these days is by commercial companies that appeal to mass markets (note that that leaves out high-end commercial Unix as well as Linux).

  186. In other words... by Anonymous Coward · · Score: 1

    In other words, GCC sucks.
    Not only that, it sucks hard and swallows.
    Typical of OSS.
    Get a clue, OSS advos!! Good software must be paid for because good devs must be paid.

  187. So, OSS-only users are limited to 2nd rate crap by Anonymous Coward · · Score: 0

    Someone should save this story, so that whenever an OSS advo states that OSS is as good as commercial software, this story can be brought forth quickly to give the lie to that argument.

  188. Detailed analysis of cross-platform compilation by Anonymous Coward · · Score: 0

    "This helps users of PPC, Alpha, and StrongARM exactly how?"

    Hmm, let me think about this... Oh, I got it!!
    1. GCC is irrelevant on PPC; CodeWarrior OWNZ this space.
    2. Alpha is dead.
    3. StrongARM - well, OK, I guess GCC can have that, but that does not help linux users very much.

  189. Missing the point by Dr.+Spork · · Score: 2
    It's stupid to interpret the article as saying that GCC should be retired. Of course it's more versatile than a x86-specific compiler.

    What the upshot should be is that any x86 application which is released in binary and not compiled with the Intel compiler is cheating the user about 20% in performance. In other words, Linux distributions would look much more impressive if they were pre-compiled with this compiler, and the entire Linux community (who doesn't build their own kernel/apps--which is most Linux users) is being short-changed.

    The sad fact is that until RPM/APT packagers switch to the new compiler, every task done on Linux will be slower that in Windows. Every "Linux is fine as it is, however that may be" apologist is just making the whole OS look stupid.

    What we really need is a centralized gang of package-makers (perhaps at Sourceforge) who paid for the Intel compiler and have some nice machines, which are totally dedicated to compiling major releases of popular GPL apps. Failing that, we can only hope that Red Hat et. al. will use the Intel compiler to make all their future RPMs. They'd be stupid not to.

    1. Re:Missing the point by dvdeug · · Score: 2

      Failing that, we can only hope that Red Hat et. al. will use the Intel compiler to make all their future RPMs.

      I wouldn't hope that. Red Hat employs several of the main GCC hackers.

      As a side note, Debian will never employ a non-free compiler in compiling its packages. So Red Hat and Debian probably won't switch over, leaving it for Caldera and SUSE and the other non-free distributers to use the Intel compiler if they so want.

    2. Re:Missing the point by Dr.+Spork · · Score: 2

      I fear you're right, and I think this just shows Debian and Red Hat are not really interested in delivering its customers a good product. If anything kills Linux, this sort of hardheadedness will be it. Soon, Windows will start looking pretty good again.

    3. Re:Missing the point by dvdeug · · Score: 2

      What responsible OS vendor would switch to a compiler they didn't have the source to? Possible trojans, a whole new set of bugs that they can't fix, and no control over whether improvements will be made or bugs will continue to be fixed upstream. For a slight speed increase - it's not a tradeoff most would make, for good reason.

  190. where have you been? by slashdot2.2sucks · · Score: 1
    I know of several people switching to WindowsNT because

    I know many people who have already switched from old school UNIX to Linux a long time ago. cough Fermi Lab cough Everyone I know in Los Alamos.
    I know several people switching from Alphas to PPC/OSX but I sure as hell wouldn't extrapolate that out.

    a) intel systems are extremly cheap (compared to architecures optimized for number crunching like RS6K)

    Yes. That's exactly why everyone switched to Linux while you weren't looking.

    b) compilers available for NT produced MUCH faster code, e.g. Digital fortran. (Yes, I know ... but still a lot of excellent scientific computing software is written in fortran77, e.g. LAPACK)

    ...same with linux. I'll give you a hint, serious projects aren't compiled with g77.

    When it comes to numerical simulation, run times in the order of weeks are not unusual, so a performance penalty of 50 percent is simply unacceptable.

    Yes, performance is important. But stability is even more important. Programs that take weeks and months to run on a thousand node cluster just can't be run on an NT cluster. Do you think all the Linux clustering technology was invented to make the movie Titanic?
    Smaller jobs can be done in NT, but it is difficult. You have to get everything running stable (which is possible, but it doesn't come out of the box that way) and running stuff remote stuff over multiple computers requires relearning and there aren't as many tools available.
    Any way man, where have you been? Linux has taken over serious scientific computing. The price/performance ratio is just too good for P3 clusters running Linux.

  191. gcc performance explained by Anonymous Coward · · Score: 0

    These numbers shouldn't suprise anyone. If you want to learn more about gcc's performance weaknesses and how to improve it, read this report.

    It wouldn't surprise me if the bulk of this 40% difference in performance has been achieved by proper data-prefetching.


    Cheers,
    Waldo
  192. Re:Kernels === benchmarks (not Linux) by ToLu+the+Happy+Furby · · Score: 2

    You have to understand benchmarking people. When they say kernels they mean benchmarking kernels. Small contained programs that extract key loops or algrothmns from larger programs.

    Exactly correct. 14 replies and this is the only one that even understands the terminology used. Someone mod parent up.

  193. Re:Take over? I think not... by karlm · · Score: 1
    Well, perhaps it will allow the GCC compiler folks a glimps into some of the optimizations Intel managed (by studying the output produced), which will in turn allow the GCC writers to rethink GCC's optimization strategies. Those improvements would hopefully benefit more platforms than just Intel.

    The article itself explains that a lot of the optimization is agressive translation of loops into operations on vectors, usng the SIMD (MMX, SSE, SSE2, etc.) opcodes,

    I don't think GCC ever uses SIMD instructions unless you explicitly inline them in assembly. I know there are some vector-aware versions of GCC available on PPCLinux that use special data types for vectors and will then use SIMD (AltiVect) instructions on those vector data types.

    I'm not familiar with the RTL intermediate representation GCC uses, but I wouldn't be surprised if the intermediate representation in GCC needs to be reworked to be able to clearly express vector operations. Either that, or this relatively generic optimization (would work at least on x86 and PPC) would need to be recoded in each of the applicable platform-specific areas of GCC. It's a relatively simple task for the platform-specific sections to generate loops from vector operations where they don't exist, but very difficult to go the other way. Also, this sort of higher-level optimization could be used to reorder indexing of multi-dimensional arrays acessed in an innefient order (such as sloppy ports of FORTRAN to C. (The major advance in Sun's new compiler is speculated to be this sort of optimization, since it's major speed increase is on a SpecINT benchmark poarted from FORTRAN to C.)

    In any case, a lot of work would need to be done on the compiler to get it to agressively convert loops into vector ops. Interpreting the intent of nested loops can be a very complex task, as evidenced by one poster's claim that the new Intel compiler taes about 4 times as long to compile things as the MS compiler.

    Also, don't forget that a major rework to get performance gains on (perhapse) only x86 and PPC platforms would probably be met with lots of resisistance from the community.

    --
    Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
  194. Hmmmm.... oooooh well by rice_burners_suck · · Score: 2

    Perhaps Intel's C/C++ compiler produces faster code because, uh, Intel knows exactly how their processor works inside and out? I'm sure that their guides to optimization and whatnot are nothing nearly as effective as having the actual engineers around to answer your questions about what's faster under what circumstances.

    Who knows, maybe the folks who wrote the compiler had the fscking schematics to the flipping processor?!??!?!?!

    On the other hand, perhaps it's some sort of a coincidence that Intel's compiler happens to produce 47% faster code. For a real analysis, they should have tested against Borland's compiler, and WATCOM's compiler. I happen to have been using WATCOM for a number of years now, and I can tell you that, being a staid and steadfast compiler (likening it to Melville's fine description of Starbuck, in the first "Knights and Squires" chapter in Moby Dick), it produces DAMN good code. I cannot compare it to the compiler Intel has authored, because I have never used their compiler.

    Astute readers may notice the author's prominent omission of Microsoft's compiler. The reasoning behind said omission centers around the fact that Microsoft is a giant squid, and therefore, their products will sell just fine whether they work correctly, efficiently, both, or neither. Oh well.

    In any case, I believe that whether or not Intel's compiler is the best out there, they should release the entire product under some sort of open source license that allows its inclusion in GPL'd code, such as, hmmm... GCC perhaps. Please allow me to explain my reasoning behind this idea. Intel is in the business of making microprocessors. I believe that if they give the world access to the source code (and technical documentation) to one hell of a darn good compiler, and allow others to modify or copy it, will encourage people to make more and faster software for Intel platforms. Imagine if there is an "experimental" new branch of GCC, where the entire system has been completely overhauled on an algorithm basis. Perhaps the compiler can be made to execute more quickly, while still producing better code for whatever platforms... There are endless possibilities in the world of compilers, and I think that a truly good compiler could be produced with the help of engineers from the world's top microprocessor companies, which means not just Intel, but their competitors as well. I say this because I surmise that if Intel took this move, other processor vendors would find themselves in a position where they need to do the same or better for their clients, or some such bullshoot like that. Well, as the saying goes, "Oh well." Because I don't know what the hell I'm talking about, because I'm tired, because I've been working all freakin' day long, and that's tiring, and sh*t.

    xxxxxxxxxx O xxxxxxxxxx H xxxxxxxxxx xxxxxxxxxx W xxxxxxxxxx E xxxxxxxxxx L xxxxxxxxxx L xxxxxxxxxx

    Oh yeah, and I almost forgot to mention something that I consider pretty interesting. SLASHDOT'S LAMENESS FILTER IS A PEACE OF SHIT. I MEAN, YOU CAN'T EVEN INCLUDE A CODE SNIPPET IN YOUR COMMENT, FOR CRYING OUT LOUD. LIKE SOMEONE'S SIG SAYS, A LAMENESS FILTER ON SLASHDOT IS LIKE A SHIT FILTER ON YOUR ASS. It's anything but staid and steadfast! GET RID OF THAT DAMN THING!!! If you don't get rid of that stupid lameness filter thing, leave it in, but ALLOW THE USER TO POST THEIR COMMENT, but put an option in your preferences and stuff to GLOBALLY HIDE "LAME" comments, just like the OPTION to HIDE ANONYMOUS COWARDS' COMMENTS, d00dz. That way, the user can decide whether to look at that '1337 stuff or n0t. BUT DON'T MAKE THIS SYSTEM SO STUPID!

    Now, finally, I'll put in my closing "OH WELL", and be on my way:

    xxxxxxxxxx O xxxxxxxxxx H xxxxxxxxxx xxxxxxxxxx W xxxxxxxxxx E xxxxxxxxxx L xxxxxxxxxx L xxxxxxxxxx

    From memory, and this may be totally wrong...

    "As you can see, we've had our eye on you for some time now Mr. Anderson. It seems that you've been living two lives. In one, you're Thomas A. Anderson, program writer for a respectible software company. You have a social security number, you pay your taxes, and you help your landlady carry out her garbage. The other life is lived in computers, where you go by the hacker alias Neo and are guilty of virtually every computer crime we have a law for. One of these lives has a future, and one of them does not. Now, I'm going to be as forthcoming with you as I can, Mr. Anderson. You're here because we need your help. We know that you've been contacted by a certain individual, a man who calls himself Morpheus. Whatever you think you know about this man is irrelevant; he is considered by some authorities to be the most dangerous man alive. My partners think I'm wasting my time with you, but I think you wish to do the right thing. We're willing to wipe the slate clean; give you a fresh start; all we're asking is your cooperation in bringing a known terrorist to justice."

    "That sounds like a really good deal, but I think I got a better one. How 'bout I give you the finger, and you give me my phone call."

    "Hmmm... Mr. Anderson. You disappoint me."

    "You can't scare me with this gestapo crap. I know my rights. I want my phone call."

    "Tell me, Mr. Anderson, what good is a phone call, if you're unable to speak?"

    Now, seriously, this is the end of my comment. Finis.

    1. Re:Hmmmm.... oooooh well by Oswald · · Score: 1

      Well, for no apparent reason, I read your whole post, so I got to the part about your being tired. Perhaps that's why you don't account for the part of the article where they say the Intel compiler achieves virtually identical performance improvements (as with Intel systems) on systems with AMD processors. That would seem to make it a lot less likely that all this magic is achieved through unmatchably intimate knowledge of the hardware. Maybe they're just unmatchably staid and steadfast compiler-writers.

    2. Re:Hmmmm.... oooooh well by rice_burners_suck · · Score: 2
      Hi there. I read your comment late last night, after going out, coming back, and having too much beer. (Negra Modelo, because Guiness sucks.) Your comment was extremely funny when I was drunk, especially the part about Intel's d00dz being unmatchably staid and steadfast compiler writers. "A staid, steadfast man, whose life was a telling pantomime of something or other, not a tame chapter of sounds" or something like that, is the quote from Moby Dick. It's chapter 27, if I remember correctly. Maybe later I'll dig through my books and look it up, just to be sure. Oh well.

      Oh yeah... thanks for reading my comment in its entirety.

      From memory:

      "You!"

      "Marty is that you?"

      "Hey, hey doc, where are you?"

      "Working."

      "Where's Einstein, is he with you?"

      "Yeah, he's right here."

      "What's going on, where've you been all week?"

      "Never mind you Marty, can you meet me at Twin Pines Mall tonight at 1:15? I've made a major breakthrough and I'll need your assistance."

      "Wait a minute, 1:15 in the morning?"

      "Precisely."

      "You know doc, you left your equipment on all week."

      "Never mind you Marty; you better not hook up to the amplifier, there's a slight possibility of overload."

      "Yeah, I'll keep that in mind."

      [clocks go off]

      "Are those my clocks I hear?"

      "Yeah, it's, uh, eight o'clock."

      "Perfect! My experiment worked! They're all exactly 25 minutes slow!"

      "What a minute, wait a minute Doc, are you telling me that it's 8:25?"

      "Precisely."

      "Damn. I'm late for school!"

  195. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    why was this modded flamebait??

  196. Re:Take over? I think not... by Courageous · · Score: 2

    ...especially when some analyses take as much as 3 days of computation time...

    Oh. You work on small problems then, right?

    :) :)

    C//

  197. Re:So is this another sign... by Anonymous Coward · · Score: 0

    Dude, that was quite an informative post *bravo*

    - Penguin Kicka

  198. some confusion by Anonymous Coward · · Score: 0

    There seems to be some confusion in a lot of the posts I see above. When someone says that a particular compiler is faster, the mean the binary executables porduced by the compiler (ie the program you have compiled) runs faster. -- They DO NOT mean that it nesecarily takes less time to compile the code!

    I would expect better from /.er's

    ''Anyway -- the next time I am writing code to take the square of a bunch of floating points, add them and then take the square root, I will consider paying $500 ''

    The point that I am making here is that this does not even prove that intel compiler is overall faster. It only proves that intel is better at that one -- very specific task.

    Besides, if floating point speed is important to you, you probably aren't going to run it on x86 anyway, an if you do use x86 for a lot of floating point, you'd be wise to use anthlon.

  199. seems like a gimmick by abdulla · · Score: 1

    don't you think it's all a bit of mental masturbation? there are way more things acting in the background that can change figures, and this test really doesn't prove much.

  200. no redefinition by markj02 · · Score: 2
    The GPL is quite clear about what open source is about:

    By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software

    Furthermore, the notion that open source software caught on because it was faster or higher quality is ridiculous to anybody who is familiar with its history. GNU C was accepted and widely used long before it became the high quality compiler it is today. Linux caught on long before its networking and stability were competitive. But the ability to get the source code and fix it more than makes up for any deficiencies and limitations to many users, and that's why open source software has been as successful as it has.

    As for "redefinition", I don't see why we should let you, the Microsoft PR department, or a bunch of clueless journalists and VCs define what open source is all about. If open source isn't for you, just don't use it and go away.

  201. Re:The end of gcc 'cause intel's compiler is faste by Anonymous Coward · · Score: 1, Informative

    Actually, GCC's speed sucks, at least in part, because software patents suck. See for example Compiler Patents, or register allocation patent, or graph-coloring algorithm a nonoption. Then complain to your congressperson (or non-US equivalent).

  202. KAI? by HiThere · · Score: 2

    An earlier poster claimed that this was originally the KAI C/C++ compiler, and that Intel had bought them and killed off the versions for non-Intel platforms.

    I would be quite surprised if they then turned around and opened the source, which might allow those cross-platform versions to be resurrected.
    .

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
    1. Re:KAI? by Anonymous Coward · · Score: 0
      Intel owns KAI, but KAI C++ for other platforms is still alive and well. See:

      http://developer.intel.com/software/products/kcc/s ysreq.htm

  203. Re:The end of gcc 'cause intel's compiler is faste by HiThere · · Score: 2

    One feasible way would be with a quite intelligent post-processor. This would need to be architecture specific, since what it would be initializing would vary with the target.
    .

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  204. Check the license to make sure that it's unencumbe by HiThere · · Score: 2

    Check the license to make sure that it's unencumbed enough for your purposes. I have seen warnings that it is incompatible with the GPL, and that it could be interpreted to prohibit the recovery of the cost of distribution.

    OTOH, it should be fine for simple experimentation.
    .

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  205. Re: My own experiences (offtopic) by Anonymous Coward · · Score: 0

    You mean if the enemy captures one of your systems, it gets its hands on a full-debug-info, easily understandable, non-optimized binary???
    Why not include the entire source, with all the comments, the HW schematics, building instructions and maybe some examples for countermeasures? As a courtesy, you might even translate all the comments in the code into Russian, Chinese, Hebrew, Arabic, Hindi, English, German, Swahili, Singalese and whatnot.

  206. Intel VTune - Profiler on Steroids by goingware · · Score: 2
    At the advice of a friend I recently tried the Intel VTune performance analyzer on a Windows program I'm developing for my client (it has a 30-day free evaluation, with free tech support even during the eval).

    I am extremely impressed with it and right away I was able to make my code much faster, faster even than getting a better compiler would have been able to do.

    The 5.0 release version is windows only, but the VTune 6.0 Beta will profile code running on both Windows and Linux. You still need a Windows host to run the UI on, but you can profile on a Linux box across the network. I think they supply kernel patches to put some performance monitoring tools in the kernel.

    If just a few key free software developer had this tool, it would make a tremendous difference. For the most part, the suggestions it gives you are applicable to any processor, not just x86. Yes, the code coach will tell you to put in SIMD instructions but you don't need to do that, you can pay attention to when it tells you there is a hidden temporary in C++, for example.

    If the profiling were applied to libraries like the XLib, Gnome libraries, KDE libraries, glibc and so on it would benefit all platforms.

    Also you can profile cross-platform code on Windows, like AbiWord, the Gimp or Mozilla and help out code on Linux.

    I'm using an eval copy now but I'm planning on purchasing a licensed copy soon. I think it will make a huge difference to the results I can produce for my consulting business, and I plan to use the tool to contribute to free software products as well.

    --
    -- Could you use my software consulting serv
  207. Re:Take over? I think not... by pixel_bc · · Score: 1

    The testing didn't involve compiling kernels at all.

    Compiling kernels is hardly a worthwhile benchmark for all but a selet few.
    I'd loathe to disqualify a compiler for that reason.

    I'd like to see its performance on various 3d and crypto apps. Anyone?

  208. 20 year old technology shouldn't matter anymore by leereyno · · Score: 2

    The IBM AT (286) came out in 1984, the XT (8088) in 81, and the 8086/88 itself back when disco was still very much the rage and I was in grade school. I cannot think of any reason we should give a rat's ass whether any compiler can create code for these chips anymore. They don't have enough power to run anything more than a text based dumb terminal anyway. My Ti-92 calculator has a more powerful CPU in it (68000) than an XT. We might as well worry about whether GCC can create code for a PDP-11 while we're at it.

    Making an open source version of dos would have been a great idea 10 or 15 years ago, but today it just doesn't matter. Is anyone's aversion to MS stuff so strong that they would rather reinvent a version of DOS instead of just using 6.22? There is DRDOS/OpenDOS/whatever-they're-calling-it-now if you don't like MS-DOS.

    The only area where 8 and 16 bit chips are of any importance is in embedded systems with low performance requirements. The good news is that for the 68HC11, the most popular microcontroller around, there is a GCC cross compiler available. I've downloaded it and played with it myself, it works.

    Lee

    --
    Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
    1. Re:20 year old technology shouldn't matter anymore by Paul+Komarek · · Score: 2

      Hmm, I guess I'd sort of hope that gcc supports the PDP-11. You'd think someone would have done it already.

      -Paul Komarek

  209. Redundant by Kool_Cat · · Score: 1
    All these replies say the same thing, here's a redundant reply to add to the pile of "Score: 5 Interesting" and "Score: 5 Insightful":


    Intel's compiler isn't open-sourced, this is bad, GCC will win, go GCC, I love GCC, nobody can take my GCC away from me, unless it's over my dead body. Long live GCC!

    GCC is used more than Intel (hey, isn't this like Microsoft? no, not really) everyone already uses it and probably won't switch any time soon.

    Intel has made the compiler designed for the chip they make, obviously it's faster, good for them.

    So it's faster, big deal, speed isn't everything.


    Probably some other redundant replies that I missed while reading at threshold 2 :P
    Mind you, there were a number of actual interesting posts, such as the KCC (Kai compiler) post. Not to mention the various "I worked in this field, and we found..." etc. But the rest can be summed-up above.
  210. DOS still used in embedded systems by yerricde · · Score: 2, Informative

    The only area where 8 and 16 bit chips are of any importance is in embedded systems with low performance requirements.

    And a surprising number of those 16-bit embedded systems are based on the x86/DOS platform. The FreeDOS project is still relevant.

    --
    Will I retire or break 10K?
    1. Re:DOS still used in embedded systems by Shanep · · Score: 2

      And a surprising number of those 16-bit embedded systems are based on the x86/DOS platform.

      The elevator displays (inside showing time, floor, company, etc) in the building at my last contract in Sydney were running on DOS.

      A few times I noticed the screen showing the typical BIOS POST info and "Command.com not found, insert disk in drive A:", along with frozen screens etc.

      And getting the train to work often includes the delight of seeing Windows NT BSOD on platform timetable screens. About 6 to 8 screens per platform per station adds up to what must be a whole lot of money the tax payer should never have had to pay for. Especially when they often either display a BSOD or a frozen login screen on systems that could have been served by a free OS that rarely freezes outside of hardware problems.

      --
      War crimes, torture, lies, illegal spying... Would someone give Bush a blowjob, already, so he can be impeached?
  211. It's the optimiser... by RallyDriver · · Score: 3, Interesting

    Everyone seems to have their heads so immersed in "computers == x86" they can't see the obvious:

    A point I'm suprised no-one has made yet - GCC is a great compiler, and it's optimiser kicks ass, on sensible (read: orthogonal etc.) CPU architectures (Sparc, PA-RISC) and even semi sensible ones (Motorola 68k).

    HP compiles the HP-UX kernel for PA-RISC with gcc, and not their own compiler, because it produces the tightest code there is for their platform.

    The 80386 is definitely non-sensible; an ungodly mess nothing short of Byzantine - 16 different registers, with no two with instruction sets alike. 80 bit data formats. 8 and 16-bit legacy modes. It shares the unqiue distinction of being even uglier than VAX. Intel would have scrapped the whole steaming turd many moons ago instead of reinventing the 1970's and microcode, were it not for the Wintel monopoly fuelling the fire for faster 80x86 compatibles.

    This has chicken-and-egged its way into the open soruce world - the ultimate reason I'm running Linux on P3 and not a Sparc, PA-RISC, 88100, MIPS, RS6k or whatever is because of Microsoft; yes really - the Wintel (or DOStel) hegemony made x86 the best bang for buck architecture through economies of mass production, even though it ***sucks***, which is why Linus Torvalds had one as an impecunious student in 1986.

    Now, I'm trapped in the Wintel sheep model on a smaller scale - I have a P3 for the same reason that most people have Windows; I'd have a Sparc or Merced based Linux box in a heartbeat, but all the Linux software I like to use comes ready-rolled for x86, and no I don't enjoy typing "make" 15 times just to install intant messaging.

    It's hardly surprising that Intel's code optimiser does better on their archtecture (including 3rd party implementations thereof). It's very goofy to try to optimise for x86. I think you'll find the Intel / GCC gap to be a lot smaller on Merced (IA-64), which is a more sensible setup.

  212. What does MS use? by LinuxInDallas · · Score: 1

    OK, this may be incredibly off topic but I have often wondered about this. What does MS use to compile Windows? Do they use their Visual C++ compiler? Would they use the Intel compiler? Does anyone know?

  213. Re:Take over? I think not... by God_Retired · · Score: 1

    Uhh, we were talking about a slim portion of life, that being computers. I should be flattered that you care to ask what I do outside of computers. I won't detail my life, but yes to all of your questions, plus others. I suppose that is what a liberal arts education will get you as opposed to some math/science/engineering degree. You people are making me so sad.

  214. Linux is slower than Windows XP by Anonymous Coward · · Score: 0

    Why is no one commenting on the quite obvious
    fact from the data that Linux is slower than
    Windows XP on the same hardware using the same
    compiler?

  215. OK, fine... by smcdow · · Score: 1
    Intel's released optimized compilers. You bet I'll take a look at them.

    But when the HELL is Intel going to release their signal processing library for Linux?

    I know for a fact (and I have the email correspondence with Intel engineers to prove it) that it's been ready for at least two years!! I'm still f*cking waiting, guys.

    I have major projects in the pipeline that could be Linux/x86 projects if this library was available NOW. C'mon Intel, get off your g*dd*amn ass and RELEASE the Linux version of this damn thing!!! These projects could just as easily be PPC based. At least I can get optimized signal processing libraries for PPC processors.

    --
    In the course of every project, it will become necessary to shoot the scientists and begin production.
  216. A chance for a distro to make money? by aquarian · · Score: 1

    How about releasing an Intel-compiled Linux distro, and charging money for it? Intel would want a piece of the action, but just build that into the price. I'm sure people would pay for it. Even if it isn't that much faster, as long as people think it might be, they'll be lining up for it. Just like Mandrake being "Pentium optimized," not like that dumb, old, slow Redhat! ;-)

  217. Re:Take over? I think not... by Golden+Eagle · · Score: 1

    You should say "open source"

    RMS has just dispatched a goon squad to your location.

  218. SSE optimizations by Anonymous Coward · · Score: 0

    Is it really news that one gets better performance if one optimizes for an available, extra instruction set (SSE - Streaming SIMD Extensions). Without knowing much about C/C++ (the JAVA VM rulez - hahaha), i gather from CPU reviews that if especially "multimedia" related apps take advantage of SSE they gain significant performance. If one looks at the performance chart it is only really "egypt" and "egyptd" that have OVERWHELMING performance increases. I'll eat my hat if they aren't some kind of "multimedia" app.

    Also the overall performance is a GEOMETRIC mean. Why?? Probably because in a geometric mean the kind of large aberrations seen for egypt and egyptd weigh more heavily on the overall result.

  219. Portability vs. Performance discussion by SLOGEN · · Score: 1

    Many of the comments in this discussion states that it's hard to write a portable and yet well-performing compiler, as an argument defending GCC.

    There simply no substance to that argument. Any optimization you can do in a target-specific compiler can be done in a portable compiler, simply by only performing it when it's known to be valid.

    It's not "harder" to optimize in a portable compiler, but there's a lot more targets to cover, and thus much more work to be done. And I think that's probably the actual problem that GCC has, compared to Intel.

    BTW: I'm no GCC-fan, but I like it for it's (relative, compared to Borland, MSVC and Sun compilers) C++ standards confomance, and for the best error-messages (call/inclusion tracking for templates/headers).

    --
    SLOGEN [ http://ungdomshus.nu : Sebastian cover music]
  220. Wrong on both counts... by Anonymous+Brave+Guy · · Score: 2
    If Internet Explorer were Free Software, standards wouldn't matter because whatever Internet Explorer does would become a de facto standard (and would probably wind up getting standardized in a future version of the W3C specification -- not something Microsoft is about to allow happen).

    Right now, whatever IE does already becomes a de facto standard, because of its ubiquity and dominance in the marketplace. That's my point. Its own "standards" are now rated by many as more important than the W3C's, which is not good for other browsers or consumers in general. This is exactly my point about GCC, for exactly the same reasons.

    The W3C has been left with little choice but to accept a number of Microsoft's proposals, or risk becoming irrelevant. But the C++ standards groups aren't under the same pressure. They will quietly ignore GCC's eccentricities if they feel it appropriate, and GCC will be left as a compiler for "not quite C++" that no-one outside of the Linux/open source community gives a wotsit about. The level of porting to Linux that goes on at present will drop to almost nothing, and the popularity of Linux will remain forever at the enthusiastic hobbyist level. Personally, I think that would be a shame, and I'm sure many here would agree.

    The question then becomes: what can we do about it? As I said before, if you accept the "GCC is the Linux C++ compiler" rule, based on religious or philosophical reasoning rather than technical merit, you bring it upon yourselves. Competition and alternatives are healthy in the open source/free software environment, just as they are anywhere else. In the meantime, it's in everyone's interests to move away from this perception that if you're writing C++ for Linux, you're actually writing for GCC. Move toward the standard as the baseline for your distribution; that's what it's there for. Then you can pick up alternative compilers if and when they come along.

    GCC is standards compliant, but it does have some of its own extensions, such as a 'long long' data type in C that's like 'long' but is 64 bits instead of 32.

    GCC is not fully compliant with the C++ standard. As yet, no compiler is, though the leading edge is expected to be as near as makes no difference within weeks (including the elusive export support). As for extensions, why not go with the standard instead, since C99 now provides for fixed-size integers?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Wrong on both counts... by Vulture_ · · Score: 1
      I should mention that gcc does also have a -pedantic option and other such things, so if you have a need to write code that is certain to be portable, you can use that.

      As for gcc being the Linux C++ compiler, if there were any real alternatives, then I'm sure people would use them. As it stands now, however, gcc is the only compiler that meets all of the demands of the community (such as being Free Software and being portable). Gcc is the Linux C++ compiler because it is the only such compiler that is acceptable.

      As for C99 providing for fixed-size integers, well, I didn't know that. Does it provide a 64-bit integer? Arbitrary length integer? (I'm thinking bignum here.) That'd be kinda cool...

      --

      The only way the typical /.er can pick up a chick is with a forklift. -- AC

    2. Re:Wrong on both counts... by Anonymous+Brave+Guy · · Score: 2
      I should mention that gcc does also have a -pedantic option and other such things, so if you have a need to write code that is certain to be portable, you can use that.

      Sure, no problem there. My problem was the "other way around", the implication in the original post that everything is written for GCC, rather than that GCC can be used to compile everything. Most of the extensions GCC provides don't offer that much over normal C++. They're a convenience, but using them costs portability.

      As for C99 providing for fixed-size integers, well, I didn't know that. Does it provide a 64-bit integer? Arbitrary length integer? (I'm thinking bignum here.)

      Not arbitrary AFAIK, but several useful variations on the theme; look up the header <inttypes.h>.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  221. Why only consider "free" stuff? by Anonymous+Brave+Guy · · Score: 2

    I don't know of any truly free alternatives just now, but that's really not the point. If you tie yourself into a specific compiler, even one as well-regarded as GCC, then you have "vendor lock-in" as surely as if you install MS everywhere, and all the same problems. In particular, if and when a better alternative comes along, you won't be able to take advantage of it. Aim for the standards instead, and you'll be in with a much better chance.

    I've covered the standard vs. library issue under another reply to my last post. I invite you to follow that thread to see why your reasoning here doesn't affect my argument for standards compliance.

    Finally, the economic issue is pretty irrelevant to companies. A compiler costs them nothing in real terms, and they are the ones writing the "killer apps" Linux so desperately needs if it's going to take off as a serious OS platform for the non-hobbyist world. If there's a good Linux C++ compiler available to them that lets them port their code, they will buy it if necessary. The question is whether GCC is, and will remain, up to the job. My reservation is that the original post implied it would continue to be used, whatever the answer to that question may be.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  222. Hyperbole? Perhaps not.... by Anonymous Coward · · Score: 0

    One may dismiss the author's prediction of GCC's imminent death as mere hyperbole, but let us not be rash. With Watcom releasing the source of Watcom C++ 11.0 under an open-source licence, GCC faces some huge competition. Watcom is regarded as one of the better code generators. Even the core developers of GCC admit in the mailing-list that a lot of the code is crufty and in need of an overhaul. It just goes to show that just because a project starts out as open-source, it's not necessarily the best alternative.

  223. Re: My own experiences (offtopic) by neonstz · · Score: 1
    You mean if the enemy captures one of your systems, it gets its hands on a full-debug-info, easily understandable, non-optimized binary???

    Well, I only work with the GUI stuff and other tools, which is written in C/C++. It doesn't have any sensitive info anyway. The code running on the realtime computer does not have debug info.

  224. Re:SSE optimizations - geometric mean is better by The+Famous+Druid · · Score: 2, Informative

    Actually, geometric means tend to reduce the impact of one "outstanding" result.

    A quick example, 3 data points, values (2,2,16)

    The arithmetic mean is (2+2+16)/3=20/3=6.66666

    The geometric mean is (2*2*16)^(1/3)=64^(1/3)=4

    They've used the geometric mean precicely because it doesn't skew the entire result if one test improves greatly.

    --
    Quidquid Latine dictum sit, altum videtur (anything said in Latin sounds important)
  225. Hell by Ralph+Malph+Alpha · · Score: 0

    Even I beats GCC.

    --
    _________________
    EBAY SAFETY TIPZ!
  226. I can't complain... by nusuth · · Score: 1

    As we don't have software patents. Our patent system is horrible (alternatively one could say it is nonexistant for all practical purposes) but at least it doesn't allow patented algorithms (that would be equivalent to patenting an idea under our system.)

    --

    Gentlemen, you can't fight in here, this is the War Room!

  227. It's GNU/Linux, not just Linux by 3247 · · Score: 2
    Today, the real dynamic and successful projects are mostly non-GNU: KDE, Apache, Linux, Wine, etc.


    Well, although the Linux kernel is not a GNU project, most of the userland programmes that make up the OS are. Without GNU, Linux would just be useless. (This is also why it should really be called GNU/Linux.)
    --
    Claus
  228. What nobody seems to have picked up on... by julesh · · Score: 1

    Nobody seems to have noticed the underlying message of this article: MS Visual C++ was already producing faster code than GCC. The Intel compiler improves on both of them.

    And to be quite honest, this isn't really surprising. Particularly on intel platforms, a lot of optimisation requires tricks that my guess is GCC just doesn't perform. It's a multiplatform compiler, and a multiplatform compiler cannot perform optimisations that only work on one platform! At a guess, it does not move floating point operations up the instruction stream in order to gain advantage from the parallelism provided by the intel's separate FPU (i.e. FPU instructions generally take longer than 1 cycle to execute, but the compiler may well expect them to be ready after 1 cycle, forcing the main CPU to stop and wait for the FPU to finish its operation). I understand that it keeps a reference to the ELF run time linking function dispatch table in a register at all times. On architectures with more than 6 general purpose registers this makes sense - on IA32 it does not! MSVC++ will not even consider doing this (it doesn't build ELF output), and I guess the Intel compiler will 'forget' this reference when it is not needed for a while. I'm sure there are more improvements that are possible...

    The other thing to note: "CPU performance for Intel on Linux and MS Visual Studio.NET on Windows in a dead heat." -- That is, it only lets us catch up. And the Intel compiler on Windows gets better performance than the Intel compiler on Linux. Something for Linux to fix, that is... it's supposed to get better computationally intensive performance.

  229. Re:Take over? I think not... by markmoss · · Score: 2

    The article itself explains that a lot of the optimization is agressive translation of loops into operations on vectors, usng the SIMD (MMX, SSE, SSE2, etc.) opcodes

    This sounds like scientific/engineering computations, and maybe 3D graphics computations in games. Anyone know if the Intel compiler does speed up graphics where you notice?

    Yes I'd like a speed-up in Spice simulations of electronic circuits, but I don't spend as much time on that in a year as I spend just waiting for Windoze reboots... AFAIK, the only code in OS's or Office suites that could be vectorized to advantage is the graphics processing, and in most things I use at work the graphics processing is already fast enough to be imperceptible.

  230. GCC is fast enough for me by st0n3d · · Score: 1

    it may take 10 minutes to compile eggdrop src on my old 400mhz... but i honestly don't care i have 2 x86 machines and a sparc machine... i like standardisation (sp?) so GCC is what i'm going with ( damn the man... save the open source :P )

    --
    -Hackers are not my worst enemy.. but my best friends.. damn they're a mine of security info-
  231. distro publishers? by yerricde · · Score: 1

    Don't forget that the GPL only requires that you distribute source with the binaries. It does not require that you distribute the compiler you used

    What about Linux distribution publishers? Are they supposed to compile their RPMs with ICC but distribute GCC?

    --
    Will I retire or break 10K?
    1. Re:distro publishers? by Anonymous Coward · · Score: 0

      They could if they wished to, but they won't. People distributing GPL software aren't required to provide you with the build environment, it's just conventional practice to do so in the Linux distro world.

      (Debian wouldn't use ICC and neither would Slack for political reasons. ICC is a competitor to Cygnus products, so RedHat wouldn't either. Maybe Mandrake would if it was a win in game or UI performance.)

  232. Linux kernel on Intel compiler? by Anonymous Coward · · Score: 0

    Is it possible to compile the Linux kernel on the Intel compiler?

    Or, pray-be-not, is it too gcc specific?

  233. Over attached to GCC? by Anonymous Coward · · Score: 0

    Isnt it time the FS community realised that at the end of the day, its the results that matter not the emotional attachments that get you there.

    GCC's biggest strength is is biggest weakness, its a jack of all architectures and as a result generates slow\poor\messy code for everything.

    its time to start welcoming more powerful compilers, even if they may be closed source or platform dependant.

    Sure you would hope Intel can produce a decent compiler for its own line of CPU's, but the lowest common denominator mentality is whats stuffing Linux.

  234. Downloaded it already. by neurojab · · Score: 1

    I'm currently trying to get this compiler working on my system... the documentation is a bit lacking. I, for one, am extremely happy to have more choice in compilers for linux. Why is everyone else so upset about this? I'd much rather just re-compile my number-crunching software than buy new CPUs. As for it replacing GCC... no way. The intel compiler will never be distributed with linux because it's so much more expensive... not to mention it's extreme limitations in platform compatibility... hell, it won't even work on debian without major hacking.... that means future open-source software will compile under GCC or both, but not just intel. Some commercial software might require it for compilation, but who cares if you never even get to see the source? If it means faster number crunching, faster lame, and skip-free mplayer for me, I just can't see a downside. This is great!

  235. Reality check. Speed isn't everything by Kaz+Kylheku · · Score: 2

    It's hardly news that GCC is beat on benchmarks by this compiler or that. When has this not been the case?

    When you see claims like that being made, try to think of factors that were not included in the analysis:

    - architecture support. Does the benchmarked compiler have back ends for every architecture that GCC supports?

    - diagnostics: does it diagnose code as well?

    - conformance: how well does it comply to ISO C
    and C++? Does it have a standard library, or at least integrate with one?

    - correctness: can it be trusted to generate
    correct code, even when aggressively optimizing?
    Are some of the benchmark results depending on a fluke, such as unwarranted assumptions about object aliasing which just happen to be true?

    - extensions: does it provide a consistent set of extensions across all the architectures it supports?

    A project like the Linux kernel supports many architectures, and also needs certain extension from the compiler. Some of the extensions are darn useful, like the GCC inline assembly syntax which can allocate registers for you, and tightly weave your machine sequence into surrounding code. You wouldn't want the kernel to require a completely different compiler for each architecture.

    - do any of the optimizations affect binary compatibility among modules (calling sequences, object layouts).

    - how many language front ends does the competing compiler have? Is it C or C++ only, or are other languages supported?

    - Is the source code open? Can anyone who is willing to invest the time and energly retarget the compiler?

    - How well does its generated code run on older chip family members, like the Pentium, 486 or 386? That could be important for some embedded work.

    - Can it sacrifice speed and optimize for size?

    There is no way that another compiler can replace GCC all that easily. Think about what it takes to compile every component of a GNU/Linux system: the kernel, libraries, and tons of programs. Even with support for all of GCC's extensions, there is the matter of confidence.

  236. Great compiler by be-fan · · Score: 2

    I'm using icc now, and I must say its a great compiler. It performs really well, even for non-fpu intensive tasks. For example, in a test case I tried to find out the speed of page coalescing algorithm. Compiled with icc, the benchmark ran 30% faster under icc than under gcc. That's a significant difference. In addition to performance, the compiler has a lot of other great features. Its error messages still edge out gcc's in my opinion (which is the real reason I like it, not really the performance) and its got good C++ compatibility. It has gcc-style inline asm support, and is substantially compatible with gcc. There are a couple of problems with it, however. Not all the command-line options supported by gcc are supported in icc. Normally, this isn't an issue, but in some cases the additional control might be nice. I'm a little worried about its quality, however. While the compiler itself hasn't bugged out on me yet, the IPO support (intraprocedural optimization, basically optimization between multiple object files) sometimes fails in weird cases (in my toy OS kernel with C++ objects with destructors created on the stack). Also, the lack of documentation about its exception handling runtime (which has to be rewritten in order to use C++ exceptions in a kernel) is annoying.

    --
    A deep unwavering belief is a sure sign you're missing something...
  237. Other icc vc gcc benchmark here by jelle · · Score: 2

    (btw s/stip/strip/ of course)

    here is another benchmark icc version 5.0.1 with gcc 3.0.1. Note the difference is a lot smaller, except for the whetstone, which show interesting results (read the accompanying text).

    Now, openmag people, see this site and how it documents the compiler options used, and how it makes the benchmark _source_ available for download. Read it and learn.

    These benchmarks are done by Scott Roberts, who recently posted this to a gcc mailing list.

    --
    --- Hindsight is 20/20, but walking backwards is not the answer.
  238. Have you ever worked for a company??? by Anonymous Coward · · Score: 0

    Sheesh, the bean counters won't let us buy WinZip let alone some fancy schmancy compiler...

  239. 20 year old instructions by heroine · · Score: 2

    GCC still only generates mostly 8086 instructions from 20 years ago and only a small number of 386 instructions. Most of the optimization in the last 10 years was reordering for pipelined architectures, which doesn't matter anymore now that the hardware does most of the reordering. At least the Pentium III supports 100 instructions not generated by GCC.

    1. Re:20 year old instructions by tshoppa · · Score: 1
      At least the Pentium III supports 100 instructions not generated by GCC.

      This is kind-of the definition of "CISC" - lots of instructions that are hardly ever (or never) used in real life.

      It's also the definition of a compiler that has been heavily slanted towards building RISC code :-).

  240. Write to the standard, not to the product. by TheConfusedOne · · Score: 1

    Having a certain tool/software on almost every box is convenient, but it's the standards that get you there.

    ANSI C code compiles on almost every C compiler. If the compiler fails on it then it should be avoided. Granted the C++ world gets a little more complicated, but again, write to the standards.

    The IE is everywhere so we'll write to it argument is even worse. IE is a *BROWSER*. It's designed to view/render certain file types. So, the idea should be to write to the file type. Then, any browser that properly implements the types will display the file as well.

    It's the VBScript, IE-only, Flash-plugin writing people of the world who are destroying the original idea of HTML and the Web.

    Whew, I feel better now.

    --
    --- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
  241. RMS does not read the gcc lists! by xiox · · Score: 1

    I think you'll find that RMS does not follow the gcc list himself (too busy, I suspect), so feel free to mail suggestions! (PS I follow the gcc list).

  242. Re:Completion ports? by Anonymous Coward · · Score: 0

    MS added completion ports to NT because NT's scheduler sucked so badly they needed to explicitly tell it to wait for data. Probably not the best example ;-)

  243. Not enough samples by rhadc · · Score: 1

    A problem with statistics -- not enough samples.

    Although this information tells a true story, it falls short of the truth. If I am compiling binaries for distribution to large audiences I would try to limit the number of versions of this software I'd have to support. One way to do this is to produce a new architecture-based binary only when necessary.

    According to the article, the compiler optimizes the code for Intel's SIMD instructions. It supposedly optimizes well for the Intel and AMD chips that support these instructions. Code that I write would hopefully work on other systems as well, and I would choose compatibility over performance any day. I might make an exception for speed-hungry tasks. Most tasks aren't.

    For me to find any value in Intels performance measurements I would have to see this code work on Pentium Non-MMX processors and AMD K6's up to whatever is current. If the compiler relies on SIMD instructions to make it faster then it naturally would be slower on non-SIMD systems.

    If I understand correctly the GNU compiler doesn't automatically take advantage of these instructions. The output would be more generic.

    My guess is that the resulting binaries do not have the same features. The Intel binaries work with only a few processors(SIMD compatible). The GNU compiler takes advantage of a mainly more traditional set of instructions. It would be possible to make a 386-and-up that is nearly as fast as a processor optimized version.

    These are apples and oranges. I can't distribute the Intel binaries to most users. I'd have to distribute a more compatible binary as well.

    What would the performance of that one look like? 5-10% faster?

    rhadc

  244. Re:PGCC Compiler Claims Same Performance Improveme by TheLink · · Score: 2

    P4 is very unlike the PPro architecture (the PII and PIII are very similar to the PPro with a bit better 16 bit app handling).

    So I doubt the optimisations will work as well for the P4. Might even be worse.

    --
  245. Re:Take over? I think not... by Anonymous Coward · · Score: 0

    >I`m not sure about PPC, since i don`t have any PPC based computers.

    xlc/xlC runs on AIX/PowerPC.

  246. This is old. by Anonymous Coward · · Score: 0

    I saw intel's compiler downloadable off their web site over a year ago, and they were making claims that early about it being able to compile code for intel processors that ran faster than code compiled by gcc. I say: whoop tee doo! If someone wants to recompile every program on is computer with intel's compiler so he can get a performance boost then good for them! And good for intel. More people may buy intel chips knowing that they can get better performance with a recompile. Will gcc die? no way! Would it hurt INtel to integrate their optimizations into gcc? No. Would the maintainers of gcc want Intel's processor specific optimizations integrated into gcc? Maybe, maybe not I am not an expert, though it might be ugly. Let intel create their faster compiler to eek more performance from the intel processor. If i need the extra use I'll use it if my programs will recompile with it.

  247. Is speed what counts ? by mystran · · Score: 1

    GCC is the only compiler that haven't disagreed with me about how control structures of typedefinitions or "name your favourite compiler problem" should work.

    With GCC you can compile just about anything that resebles C/C++ to on almost any platform TO almost any platform.

    I mean, just as I would love a web browser that is 100% CSS and XHTML compliant, I also like to have a compiler that does what it's told to, even if the coder was creative.

    Not tested that Intel thing.. but when writing a compiler from scratch isn't that easy to get it all right on first try.

    --
    Software should be free as in speech, but if we also get some free beer, all the better.
  248. The benchmarks are irrelevant... by nologin · · Score: 1

    I've played a bit with GCC in my time, and what this benchmark demonstrates is the ineptitude of the reviewers to take into account several issues that aren't covered in their article.

    1. They used as the marker for GCC performance a gcc 2.95.3 version compiling a 2.4 series kernel.

    Obviously, this is like telling the cook that he has to prepare a twelve course meal with only a Bunsen burner. Linux 2.4 kernels are notorious for being extremely slow on anything below the (bastardized depending on your view) version 2.96 of gcc. I'm not at all surprised at their results, considering that the Intel compiler is optimized for the setup being used to run these tests. Personally, I'm surprised that GCC 2.95 even compiled the kernel...

    2. They did not indicate if GCC was recompiled with any of the x86 optimizations.

    The default GCC package usually comes compiled with no optimizations whatsoever. I'm not exactly familiar with SuSE 7.3, so I can't say for sure what optimizations they put into their compiler package. However, most distros still include the gcc compiler to emphasize compatability over speed. Let's see that Intel compiler work on SPARC or a PowerPC. I betcha it won't.

    IMHO, this benchmark is like comparing a Ferrari to a bicycle and trying to determine which one can make the quarter-mile first. The answer is quite obvious...

    But what I find ever more interesting is that an open source magazine is reviewing a closed source product, and making the glaring oversights that I've just begun to cover above...

  249. test by Anonymous Coward · · Score: 0

    test.

  250. Re:Take over? I think not... by cduffy · · Score: 2

    And my company cares about having a compiler that we can port to new platforms without buying expensive licenses to do so. There are many reasons to care about open source without being a zealot.

  251. Is --fast-math used? by r6144 · · Score: 1

    With this flag GCC code's floating-point performance gains by as much as 80~100% (by replacing divisions with multiplications, for example). Of course it breaks strict IEEE754 standards, but not many real programs. Probably it isn't used in the benchmark --- if it is used, it MUST be mentione

    By contrast, the Intel compiler has a -mp switch that is similar to --NO-fast-math in gcc. This is not specified by default, so these standard-breaking optimizations are on by default.

    Well, the gcc docs should explain --fast-math more thoroughly and put it in some easy-to-find place, although it should still not be on by default.

    As for MSVC, I donno.

  252. Not Suprising by jschmerge · · Score: 1

    If you think about it, it's not that suprising that a compiler/assembler written by the chip manufacturer generates faster binaries. Having access to the chip specs and the engineers that designed the chip virtually ensures that this will indeed be the case.

    Before people start to predict gcc's demise, I would like to ask the reviewers if they tried benchmarking the performance of the intel compiler's binaries on a Transmeta or AMD chip. I think that might lead to us seeing the Intel compiler in a slightly different light.