All:
On 07/06/2005, at 1:39 PM, Craig Ringer wrote:
I presume that Steve Jobs' intention was not to halt all Mac sales for
the indefinite future, disgruntle all recent switchers, spook
anyone who
was considering switching or upgrading in the near future [...]
I'd be surprised if he managed that. The initial response has been way
more negative than I would've expected. Surely people will realize
that
these will still be "Macs" despite the different CPU, and that
developers will maintain compatibility for a fair while yet (there
being
a big PPC installed base and all)?
Indeed.
With the loss of the PowerPC, the Mac loses any advantage or
disadvantage its CPU had over Intel. Thus if the 970 or 970MP or 980
were ever to beat Intel's offerings, we'll never know. From 2006 on,
the Mac will compete solely on quality of design and software. Intel
is unlikely to give Apple any breaks on the best chips it has in any
particular season.
From an emotional, slightly irrational perspective, Apple developers
who are familiar with low-level details generally detest the x86
architecture and think the PowerPC and Altivec are far more elegant.
The elegance promised a more performant future, but often it was just
promises. It irks us that VHS won over Betamax, or Windows won over
MacOS, etc.
The main piss-off will be having to buy upgrades to all your
software to
get it to run at full performance on the Intel-based machines. Oh, and
drivers. That *will* cause some fury. Hmmm... maybe you're right :S
[...] and putting a knife through developers' prospects. I imagine
he's done a good job of doing exactly that, though.
Really?
Porting doesn't seem that hard. I've read the porting document, and
most
of it deals with the two areas I expected - endian issues, and vector
instructions. In a well written application the vector code will
already
be in well-separated platform-specific parts of the code, preferably
with a portable equivalent already done. That just shouldn't be too
bad
even if they do need to write some new SSE-based vector ASM for
x86. If
the AltiVec code is scattered through their codebase then someone
needs
to show them what software engineering is. Endian issues will be
more of
a pain for Mac developers who don't also support any little-endian
platforms already, but shouldn't be *that* big a deal. They didn't
cause
too much trouble when porting Scribus over to MacOS/X for PPC (not
finished, but hardly anybody has time to work on it right now).
If you read the porting document, there really aren't many good
equivalents to Altivec opcodes e.g. permute. So the greatest pain in
porting will hit the Altivec-focussed developers, the ones who have
coded directly into Altivec rather than relying on a library like
Apple's Accelerate framework or my macstl. They might feel cheated
because unlike many pieces of Apple software (Open Transport, OpenDoc
etc.) that fell by the wayside, they thought the hardware support was
least likely to change.
Will be interesting to see the Intel
equivalents of the AltiVec and Xserve products, esp. given the
inevitable Mac-vs-Windows-vs-Linux performance comparisons (eg. Adobe
Photoshop for workstations, Apache for servers, etc.).
My bet: Opteron . That'd provide SSE 3 and 3DNow pro. Admittedly not
really the same as AltiVec, but not too bad either.
I suspect there will be things we haven't seen yet that Steve has
seen on the Intel maps, and/or IBM must have really told him to piss
off. There are good reasons why G5 and PowerPC clusters are among the
top 500 supercomputers in the world, and Intel will have a lot of
catching up to do so. The low end G4's will go first since Intel has
already (or should be able to) beat them -- hence iBooks, Mac mini,
Powerbooks first.
As a business decision I can see how it came down. "Lose 5% of our
market which are the performance geeks/scientists/high-end users, but
gain 40% more market in laptop users, OK let's do it..."
No mention is made of 64-bit support. AMD pioneered a 64-bit variant
of x86 which has proven quite popular, and even the far bigger Intel
has been forced to accept this ISA instead of its own Itanium ISA.
Besides 64-bit support which is quite esoteric, a few modernizations
were but into x86-64 including many more registers, which generally
makes programs run faster. The Intel Pentium-M's that Jobs were
eyeing for the next Powerbooks don't support this x86-64, and the fat
binaries in the porting document etc. only target the old x86, so
that too is cause for concern.
Still, when the x86 support is in full swing, it would be fairly
straightforward to flick another switch to get x86-64 and/or get AMD in.
SSE3 doesn't provide many opcodes over SSE2 or SSE. The one that
brought near parity with Altivec was SSE2.
My thinking is they shouldn't have ruled out PPC -- i.e. they should
have offered both x86 and PPC. So if there is a faster PPC, they
could use it, and the average consumer doesn't need to worry about
this. But all the talk from Apple and Apple employees so far has been
of the bridge-burning type.
I wonder how Rosetta will perform, too.
I'd expect a pretty serious performance hit. Reading between the
lines,
he keynote suggests that it'll be fine for apps which are often
bottlenecked at the disk, or that are usually waiting for user input,
but not so hot for apps that are CPU heavy. If it's less than an order
of magnitude I'll be fairly impressed.
There are already some Xbench marks out there, try looking at
www.macrumors.com.
Presumably Apple will try to do a better job
than Sun has done with its years of messing around with x86 vs SPARC.
The legacy and groundwork was already there, NextStep (which is the
basis of Mac OS X) already could run on x86 and Darwin (the
foundation layer of Mac OS X) is publicly available for x86. So it's
not like they have much catching up to do. Quite a few Apple
employees on lists like simdtech and xcode-users have now revealed,
almost in passing, that they've worked on parts of Marklar (the OS X
on x86 project) for years now. I'm amazed and a little frightened at
the culture of secrecy there, actually. Not to even accidentally
mention the x86 word in a mailing list or inadvertently leave a x86
header file in a public build of OS X, wow.
Cheers, Glen Low
---
pixelglow software | simply brilliant stuff
www.pixelglow.com
aim: pixglen