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."

37 of 580 comments (clear)

  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 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
    3. 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...

    4. 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.

    5. 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.
    6. 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.
  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."
  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. 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
  5. 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.
  6. 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.

  7. 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 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.

    2. 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

    3. 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... ;)

    4. 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.
  8. 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!

  9. 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.

  10. 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

  11. 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 $$$

  12. 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 :)

  13. 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?

  14. 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.
  15. 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
  16. 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));
  17. 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.

  18. 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.

  19. 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...

  20. 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.

  21. 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

  22. 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.

  23. 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.

  24. 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.
  25. 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

  26. 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
  27. 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.