Apple Hardware VP Defends Benchmarks
He said Veritest used gcc for both platforms, instead of Intel's compiler, simply because the benchmarks measure two things at the same time: compiler, and hardware. To test the hardware alone, you must normalize the compiler out of the equation -- using the same version and similar settings -- and, if anything, Joswiak said, gcc has been available on the Intel platform for a lot longer and is more optimized for Intel than for PowerPC.
He conceded readily that the Dell numbers would be higher with the Intel compiler, but that the Apple numbers could be higher with a different compiler too.
Joswiak added that in the Intel modifications for the tests, they chose the option that provided higher scores for the Intel machine, not lower. The scores were higher under Linux than under Windows, and in the rate test, the scores were higher with hyperthreading disabled than enabled. He also said they would be happy to do the tests on Windows and with hyperthreading enabled, if people wanted it, as it would only make the G5 look better.
In the G5 modifications, they were made because shipping systems will have those options available. For example, memory read bypass was turned on, for even though it is not on by default in the tested prototypes, it will be on by default for the shipping systems. Software-based prefetching was turned off and a high-performance malloc was used because those options will be available on the shipping systems (Joswiak did not know whether this malloc, which is faster but less memory efficient, will be the default in the shipping systems).
As to not using SSE2, Joswiak said they enabled the correct flags for it, as documented on the gcc web site, so that SSE2 was enabled (the Veritest report lists the options used for each test, which appears to include the appropriate flags).
Really?
If you want OSX, you'll need to get the PPC.
If you want Windows, you'll get the x86.
If you want Linux, you can pick up 10 and build yourself a cluster for the price of one of these new machines.
I have been pwned because my
At least everything that they did seemed to be amply documented.
I found that to be refresing especially in light of all the recent benchmark tests that have not been so forthright with all their methods and procedures.
If everyone benchmarked with open source compilers, there would be none of the shady benchmark-specific optimizations you'd expect to see in proprietary compilers. Everything would be above the table.
And that's not to mention the benefits for OSS compilers. Imagine the kind of resources and funding processor companies would dump into open source compiler projects if they were going to be the basis for their benchmark scores instead of their closed source proprietary compilers.
"The worst tyrannies were the ones where a governance required its own logic on every embedded node." - Vernor Vinge
Further I notice he didn't mention the problem of not doing comparisions to AMD.
While I can understand his reasoning, the fact is that most software on the PC runs under VC or Intel's compiler. It doesn't run under gcc. The benchmark might be a fair Linux/OSX comparison but implies something about Windows/OSX that is incorrect.
I'd also like to see the tests done under Mathematica and Photoshop discussed more. Apple's had a history with photoshop so there is prima facie reasons to distrust it. But the Mathematica test, which seemed the most exciting to me, is what I'd really like to see.
Realistically though the tools for Apple, including graphics drivers, are all very beta. So we should see improvements with time. And realistically benchmarks are typically kind of deceiving as an indicator of real world performance.
So any word on these other questions?
PS - I love OSX and would love to make a Mac my primary machine. If only Project Builder was up to the task so I could abandon Visual Studio. But I am excited about the G5, but I think Apple's "questionable" tactics have brought a lot of unfavorable press that more honesty would have avoided. Personally I think being within 10% - 15% of the top end PC would have been fine.
Fuck those $750 PCs, I'm getting me a $3000 Mac.
Q: You know what a $750 dual 3gHz Xeon PC is called?
A: "Stolen Goods"
Really, the point for Mac users is not so much whether or not the G5 wipes the floor with the Pentium, but whether or not the long period of performance stagnation is coming to an end, and whether or not top-end Mac performance will once again be reasonably comparable to top-end PC performance. And it looks like the answer to both questions is YES! (FINALLY!!!)
Is there good reason to believe that the same compiler will produce relatively as well-performing of code for one chip it supports as it does for another? I don't think so.
In this case, performance will in part be a function of how mature and optimized the generation of code for the advantages of that particular chip is.
Because there is no guaruntee at all of fairness by using gcc for both processors, except of course if we had the expert opinion of someone intimately familiar with gcc's code generation for both processors, using gcc for both processors would seem to be little more than a marketing tactic to give the appearance of fairness and credibility.
It seems to me that a better test is to take the best compiler widely available for each chip, and then run your tests with the produced code. Now, this isn't necessarily real world application testing, but that isn't what we are necessarily looking for here.
How well the processor performs with code generated by the best generally available compiler, is, apart from extraordinary measures, the best prediction we have of how generally the processors will compare for any given well-written, production quality code.
All this talk of gcc removing a variable is naive at best, misinformation if the speaker is knowledgable on the subject. Gcc is not a constant, the quality of it's code optimization varies from platform to platform. To be more specific, gcc is used by Apple to build MacOS X and Apple has been improving gcc PPC code generation. Apple provides gcc to Mac developers. Apple is also IBM's partner in the development of the PPC970. Gcc is the developer optimized compiler for the chip in many ways and is more comparable to Intel's compiler in this respect.
If everyone benchmarked with open source compilers, there would be none of the shady benchmark-specific optimizations you'd expect to see in proprietary compilers. Everything would be above the table.
No. Benchmarks would become less realistic. There is nothing wrong with proprietary compilers. If they use proprietary techniques not available to gcc, so what. The only consideration is whether the compiler is available to other developers. The Intel compiler is available under Windows and Linux so it would be completely fair to try it and gcc and pick the faster of the two.
You know, I always thought that this would be a good idea for Slashdot. I mean, you guys must have some pretty interesting contacts by now, use some of them to do a "news" article or two on your own. I'd still keep the old Slashdot question/answer interview around because they are interesting and good for the people who don't have time to do a traditional interview.
Sapere aude!
The "status quo" crowd that jumped all over Apple this morning for the "fake" benchmarks and "dishonest" wording will still find lots of reasons and ways to disparage the fruit company, simply because Apple isn't doing what they want - building the best, fastest, and most cutting-edge computers for $400.00.
Forget about Serial ATA - (Apple is the first top-tier manufacturer to make this interface stardard across their high-end machines.)
Forget about the new motherboard featuring HyperTransport, PCI-X, and the IBM-fabbed 1GHz northbridge chip. Oh, and 802.11G, USB 2.0, FireWire 400 and 800, and Bluetooth, too.
Forget about the imagination and creativity that goes into making a project like this go from concept to reality in eighteen months.
Why support a company like that? Bunch of dirty liars - there's no way a 2GHz chip could be faster than my Intel/AMD/whatever86!
Maybe it's not ultimately faster (although Greg's comments seem to indicate that the playing field was pretty equal). I don't buy "fast". I buy well-integrated tools that help me get work done, and in turn, bill clients. So I (still) use a Mac.
Jeez - to hear people around here, you'd think that innovation, style, performance, and the courage to move forward agressively and definitively with new technologies doesn't come at a price.
What other comapny would develop all these technologies to hardware and software maturity as part of a new hardware platform, then bring it all to market with system software already written (by the same vendor, I might add) to take advantage of new hardware features?
Those things DO come at a price. The price begins at $1999.00 for the 1.6GHz G5, or $799.00 for an eMac.
As long as there are people who just want to get work done on their computers without hiring an IT department or worrying about who is responsible for which component of the system, Apple will still be around.
I bill around eight hours a day with my Macintosh - the $400.00 price premium over PC hardware at the time I bought my G4/800 simply isn't an issue - over the lifetime of the machine, I'll probably bill at least two hundred times that amount for work made possible by its existence.
That $400.00 up-front cost means that I don't have to spend my time - my extremely expensive and finite time - having to deal with at least two vendors just to get a system with competitive hardware, a competitive OS, and support for them both. If your time isn't valuable, by all means cheap out and build your oft-touted (and perfectly capable) PC from parts you buy at Frys. $400.00 means nothing to professionals - it's cheap support insurance.
I hope Apple sells a TON of these machines - because they're practically the only personal computer company willing to take the initiative and responsibility for supporting hardware and operating system on equal terms.
Perhaps if Apple stressed the cost of ownership point to more people, they'd have higher sales. Our small business has nearly thirty Macs. I'm the lone IT person, spending an entire hour a week on supporting a bunch of artists and their Macs. What similarly-sized Windows-based business can make that claim?
2xCPUs would cost around $1400
Motherboard $300
'Cos everyone knows all you need is a motherboard and processors. Didn't you work in IT at a company I used to work for? You're the one who took the RAM out of my computer and said you'd be "right back", aren't you?
Excercise for you:
Add the cost of Bluetooth, PCI-X, 802.11G, Gigabit ethernet, SATA hard drives and controllers, DVD-R drive, power supply, all the other hardware stuff I've forgotten, plus iTunes, iDVD, iMovie, and the ten or so other bundled applications on the G5s, a Unix-based operating system with superior usability, and one year of free warranty and support for ALL of that stuff.
How much does your dual Xeon cost now?
Several other posters have noted that GCC/970 is really not the same compiler as GCC/Xeon. Sure there may be a bit of code in common between the versions, but the job of a compiler is to produce object code... and by definition, the object code for 970 is different from that for Xeon.
What matters to a purchaser is "How much performance can *I* get out of this machine". If I am performing CPU-intensive scientific calculation that require the fastest CPU I can find (at least for a given number of kilodollars), I'll almost certainly spring a few hundred extra for the compiler that produces the fasted object code on that platform (if needed, there's nothing ruling out GCC automatically because it's free).
It happens that for a Xeon or P4 (or Opteron, for that matter), the compiler that produces the fastest object code is ICC. Intel has done an amazingly good job with their compiler.
Now, sure, I *could* get a similarly optimized 970 compiler for comparison.... if one existed, that is. It looks like right now, GCC is the best you can get on a 970. It doesn't do a buyer any good to know that IN PRINCIPLE a more optimized compiler could be written.
All that said, the 970 looks like a very respectable chip. And Apple is selling their new machines at a very competitive price; and Macs have extremely friendly and stable OSs. All that means that it is probably well worth buying a PowerMac even if it will crunch big computations a few percent slower than a more expensive Xeon. But still... the "GCC is the common element stuff is pretty darn bogus."
Buy Text Processing in Python
I'm becomming really dissapointed with what seems to be the majority of posts on /. (and especially in this thread). I was anticipating a lot of /.ers going on and on about how sweet the tech specs are on the PowerMac G5 hardware. It shouldn't matter what religion you are (M$, Sun, *NIX, Mac, IdogAppleToSoundSmart...), the hardware freeking rocks! Just like my attitude towards BeOS - I don't necessarily care whether the thing will gain 82% market share, its just cool shit.
It is quite difficult to produce better code than gcc, and my tests on powerpc (granted, those were a few years back using xlc on RS6000 with AIX 4) showed that xlc produced code of about the same quality -- sometimes worse, sometimes better.
The gcc "Haifa" scheduler was donated by IBM Haifa, by the way, so I think it's not surprising that gcc produces good code on powerpc.
On Intel it's quite the same, except that gcc does not vectorize code. From what I have seen, however, icc's vectorizer is not very useful either. I recently tested ogg-vorbis (which is a plain C floating point intensive benchmark) with icc 7 and gcc 3.3 and the gcc version was actually faster than the icc version (on my Athlon XP, target CPU pentium3) despite icc having vectorized several loops.
So all this "vendor-optimized C compiler" stuff is really besides the point. No C compiler will ever be able to match the quality of hand optimized assembler code, and the most important code (ffmpeg MPEG-2 decoder and MPEG-4 codec) has already been hand-optimized. You might be able to squeeze anoter 5 percent out of your code by using a vendor C compiler with insane optimizer settings, but what good is that if the end user is only going to use gcc anyway. I know I am, so I find the numbers for gcc actually more useful for comparison purposes than some vendor C compiler comparison.
Also, we don't want to encourage vendors to produce super vendor optimizing compilers, we want them to optimize gcc (so that everyone benefits, not just their users). So the more benchmarks are done using gcc, the better!