Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
displaced said:
I wonder how much of OS X itself is written in a portable language such as Objective C?

All of it. Funny thing is, which I learned from an Anandtech article, is that it's compiled with this switch: -Os. It'd be nice if Apple would make a downloadable distribution compiled with -O3 or better yet -fast, for those of us with G5s and more than 512MB.

--Eric
 
Hmm interesting, maybe the switch to Intel will have an impact on this?

Also why don't Apple compile it twice and sell it on a DVD , a version for G5's (speed) and a version for G4/3 (size) :confused:, surley they could get the installation to dectect RAM/CPU and install the right version? Or am i missing something....

Eitherway, the guy in this thread earlier saying he had a QUAD G5 and was fed up of looking at beachballs in OSX is talking beachballs i say. Because my inferior 2.3 DC manages OSX like a champ!
 
Eric5h5 said:
All of it. Funny thing is, which I learned from an Anandtech article, is that it's compiled with this switch: -Os. It'd be nice if Apple would make a downloadable distribution compiled with -O3 or better yet -fast, for those of us with G5s and more than 512MB.

--Eric


So, from my (borderline-layman's) point of view, it looks like the key components of OS X working across multiple architectures are:

- Multi-binary executable packaging format (fat binaries)

- A compiler (C++, C, Objective C) for the target architecture

- A ported Mach kernel and BSD-layer + userland toolchain (I'd imagine these would be written in C or C++, since they're so low-level and/or have a history outside of Apple. BSD's famous for its portability, and I believe Mach has existed on a couple of archs already).

- A successful compilation of higher-level, obj-C frameworks on top of the ported kernel and BSD layer on the target arch.

Of course, this is far from the whole story -- a CPU architecture does not a platform make!

From my own limited experience, 'platform independent code' is almost as much to do with coding style as what language is used. NEXTSTEP, Mach and BSD are historically portable, suggesting that they're written in a style that doesn't take the underlying architecture for granted. Perhaps this would ease the implementation of the OS on further architectures?

On another note, I seem to remember reading that OS X's installer does indeed install different kernels and system libraries based on the underlying CPU. For example, you'd expect the math libraries on a G4 and G5 install to have been compiled with Altivec support, yet those on a G3 would not.

There may be other reasons for Apple not using certain optimisation settings. I've seen a Samba compilation on one of my Linux boxes die when using particular combinations of flags, and even had the binaries built by a 'successful' compile act oddly due my tinkering with compiler optimisations.

I'm working on the assumption that Apple's engineers aren't mad enough to ignore a possibly significant speed gain that could be obtained with a minor tweak to the build process :) So there's probably some hairy and arcane reason why they do what they do!
 
bigandy said:
now i didn't see that one coming.

would be interested to see some hard evidence this were true... :rolleyes:

Agreed. This would be incredible! Unless the Altovec support were so slow that it didn't really matter for much. Or buggy...

:rolleyes:
 
Eric5h5 said:
All of it. Funny thing is, which I learned from an Anandtech article, is that it's compiled with this switch: -Os. It'd be nice if Apple would make a downloadable distribution compiled with -O3 or better yet -fast, for those of us with G5s and more than 512MB.

--Eric

You'd be surprised. I've done a lLOT of porting of low-level code to almost every imaginable platform (MIPS, Power, Intel, SPARC, you name it). In almost every case, size optimization provided as many or more benefits as almost any other kind. Especially on the modern processors.
 
Why Why

People the Altivec is a Hardware feature. HARDWARE. And not a SINGEL X86 CPUare having it now, and I dont think any x86 cpu will have it EVER. Now there is in the X86 world something more or less the same but much weaker. that is called SSE. Now the ONLY thing rosetta can do is to make shure that what was before a Altivec code on a PPC with altivec suport is on a X86 a SSE code.

You can not do anything more then that. It is imposible, unless the X86 CPU have altivec suport.
 
PPC970FX said:
People the Altivec is a Hardware feature. HARDWARE. And not a SINGEL X86 CPUare having it now, and I dont think any x86 cpu will have it EVER. Now there is in the X86 world something more or less the same but much weaker. that is called SSE. Now the ONLY thing rosetta can do is to make shure that what was before a Altivec code on a PPC with altivec suport is on a X86 a SSE code.

You can not do anything more then that. It is imposible, unless the X86 CPU have altivec suport.

Takes time does'nt it.....:p
 
RobHague said:
Also why don't Apple compile it twice and sell it on a DVD , a version for G5's (speed) and a version for G4/3 (size) :confused:, surley they could get the installation to dectect RAM/CPU and install the right version? Or am i missing something....

Great point, one I've heard a few times and thought of myself. As mentioned before legacy code slows down the works. It's hard to say if the reason why there's a one-size-fits-all OS release is simplicity or it'd take longer for engineers to break apart the code, optimized for each processor, to make things run optimally.

RobHague said:
Eitherway, the guy in this thread earlier saying he had a QUAD G5 and was fed up of looking at beachballs in OSX is talking beachballs i say. Because my inferior 2.3 DC manages OSX like a champ!

Either he's a troll or he's got something wrong with his machine. I have one of the original 2.0 DP G5s and beach balls, though they exist, certainly for most things don't spend a lot of time on the screen. Progress bars are another thing but compiling movies on any machine takes time.
 
Just going back to something people were saying earlier about losing Classic functionality. People that are that desperate to carry on using certain Classic programs will be able to use Shapeshifter. It already works on the x86 version of OS X.
 
PPC970FX said:
People the Altivec is a Hardware feature. HARDWARE. And not a SINGEL X86 CPUare having it now, and I dont think any x86 cpu will have it EVER. Now there is in the X86 world something more or less the same but much weaker. that is called SSE. Now the ONLY thing rosetta can do is to make shure that what was before a Altivec code on a PPC with altivec suport is on a X86 a SSE code.

You can not do anything more then that. It is imposible, unless the X86 CPU have altivec suport.

So? What's the big fuss about Altivec?

Like I kept harping, it is simply a marketing name. Oh, and btw, Opterons smoke G5s in EVERYTHING, so let's not act like PPC is that superior mkay?

The Altivec superiority is really a moot point considering how your CPU is so freaking hot you gotta watercool it on STOCK configuration. Intels will have more Ghz and cores than G5s ever will.
 
displaced said:
Itanium's also a bit of a cul-de-sac. Its main supporter, HP, has all but abandoned it. AMD's Opteron is currently meeting the demand that the Itanium was targeted at.
Itanium's problem isn't that it's not better than x86, its problem is that it isn't x86. x86 may be a piece of junk, but it's a succesful piece of junk, and Intel couldn't get rid of it. Itanium isn't getting much in the way of development dollars, so HP rightly is dumping it, and the only other Itanium player left (SGI) is on its deathbed. Itanium's performance doesn't matter anyway; even if it were twice as fast as x86 nobody would want it, and its superior floating point and vector performance makes it a niche part (my home office sure could use a 512-cpu SGI Altix :cool: )
displaced said:
Incidentally, the iPod uses two CPU's based on designs by a British company, Advanced RISC Machines (ARM).
ARM == Acorn Risc Machine
 
kalisphoenix said:
Ppc? Ppc? **** Ppc! Mips R5000!
Be still my heart! Somebody who remembers MIPS. If only we could get some 3 GHz R12k's in Apple's hands and stop this x86 nonsense.
 
bigwig said:
Itanium's performance doesn't matter anyway; even if it were twice as fast as x86 nobody would want it, and its superior floating point and vector performance makes it a niche part
I wonder if there's a hidden future for Itanium.

Certainly Intel is revamping it's x86 server chips by moving them off Netburst/Pentium4 onto the Pentium-M architecture (like the Yonah chip)... but did you read that in 2007 Intel will be making the Xeon (Server chips, based on Yonah) PIN-COMPATIBLE with the Itanium of the time? The idea is that any manufacture can use their server motherboard and swap the Xeon with the Itanium.

If Apple can run OSX fast on Itanium with emulation/rosetta etc, I think there's another possibility. But we're getting far off the topic...
 
GregA said:
Certainly Intel is revamping it's x86 server chips by moving them off Netburst/Pentium4 onto the Pentium-M architecture (like the Yonah chip)... but did you read that in 2007 Intel will be making the Xeon (Server chips, based on Yonah) PIN-COMPATIBLE with the Itanium of the time? The idea is that any manufacture can use their server motherboard and swap the Xeon with the Itanium.

It is more likely the OTHER way (ie: Itanium systems are able to use Xeons in their place). Everyone knows it is dead, Opteron killed it.
 
generik said:
It is more likely the OTHER way ... Everyone knows it is dead
My first thoughts were - if Intel considered it dead there would be no reason to make it pin compatible... just let it die. Thinking it through.. it is possible that Intel wants to make it an easy substitute, stop some of the investment in higher-expense supporting chips... and hence Intel no longer finds that investment worthwhile...
... but it still comes back to why not dump the chip entirely? Ahh well, only time will tell on that one.
 
generik said:
So? What's the big fuss about Altivec?

Like I kept harping, it is simply a marketing name. Oh, and btw, Opterons smoke G5s in EVERYTHING, so let's not act like PPC is that superior mkay?

The Altivec superiority is really a moot point considering how your CPU is so freaking hot you gotta watercool it on STOCK configuration. Intels will have more Ghz and cores than G5s ever will.

The big fuss about Altivec is that Apple and motorola/ IBM took use of it to make up for the lack of PPC power, so a lot of aps are optimiced to the exstream for altivec. And if all that programing just goes to waist, it would be a shame dont you think?

PPC is superior in many things, why do you think the xbox is a PPC and not a X86?? PPC is superiar in many things, but there are almost no people that need 50% of the computing power there is in a iMac, and the Xserver is one of the best out there. VT and the computer there is wikked, more powerfull and less exspensiv then a Operton counterpart. But I think that on the laptop place X86 is KILLING PPC. And the PPC is very good on the scaling part, but everything but that x86 is better.
 
GregA said:
My first thoughts were - if Intel considered it dead there would be no reason to make it pin compatible... just let it die. Thinking it through.. it is possible that Intel wants to make it an easy substitute, stop some of the investment in higher-expense supporting chips... and hence Intel no longer finds that investment worthwhile...
... but it still comes back to why not dump the chip entirely? Ahh well, only time will tell on that one.


If there is anything about Intel they change Intel like a woman changes clothes, meaning.. pretty damned very often.

They probably made it pin compatible so that current users will have a easy migration path to the new Xeons.
 
qubex said:
In a couple of years my current machines (including my Quad G5) will be totally useless and obsolete, with no new software to run, and probably no new OS releases either. :( It's even sadder because PPC, especially in the G5 incarnation, is the better architecture.

I agree 100%. What is Apple going to do about that hopelessly slow, shared front side bus?
 
generik said:
The Altivec superiority is really a moot point considering how your CPU is so freaking hot you gotta watercool it on STOCK configuration. Intels will have more Ghz and cores than G5s ever will.

It was watercooled to make the PowerMac quieter. The G5 puts out less heat than a Pentium 4.
 
reberto said:
Do you have anything to back up what you are saying or are you just wasting space?



Rosetta will run native PPC apps at G3 speeds, not saying that some of the altivec instructions are not supported, they are not native instructions and you will still get G3 speeds.
 
jane doe said:
Rosetta will run native PPC apps at G3 speeds, not saying that some of the altivec instructions are not supported, they are not native instructions and you will still get G3 speeds.
I've never read anyone say that Rosetta will run native PPC apps at G3 speeds. Anywhere.

Apple says Rosetta simulates a G3.
Apple says Rosetta runs PPC apps at up to 80% of native speed (I assume that really means "around 50%" :))
Some people say the developer machines FLY with native apps (though these machines may be faster than the initial machines we get).
ZDNet had iTunes audio compression (OSX on Intel emulating a PPC) at around half the speed of iTunes (native on Windows).

Anyway.. nothing about running at the _speed_ of a G3 anywhere... just what it is pretending to be. I did hear some people say what you've said, on discussion boards. Are you sure that's what you read, and do you remember where you read it?
 
GregA said:
I've never read anyone say that Rosetta will run native PPC apps at G3 speeds. Anywhere.

Apple says Rosetta simulates a G3.
Apple says Rosetta runs PPC apps at up to 80% of native speed (I assume that really means "around 50%" :))
Some people say the developer machines FLY with native apps (though these machines may be faster than the initial machines we get).
ZDNet had iTunes audio compression (OSX on Intel emulating a PPC) at around half the speed of iTunes (native on Windows).

Anyway.. nothing about running at the _speed_ of a G3 anywhere... just what it is pretending to be. I did hear some people say what you've said, on discussion boards. Are you sure that's what you read, and do you remember where you read it?

The development docs say right here that altivec is not translated:

http://developer.apple.com/document...versal_binary_exec_a/chapter_7_section_2.html

Whats the difference in G3 and G4? Altivec.
 
Macrumors said:
(OSX86project) claim that Rosetta has been upgraded to fully support a PowerPC G4 processor including Altivec support.
jane doe said:
This is bogus information.
reberto said:
Do you have anything to back up what you are saying or are you just wasting space?
jane doe said:
Rosetta will run native PPC apps at G3 speeds, not saying that some of the altivec instructions are not supported, they are not native instructions and you will still get G3 speeds.
GregA said:
I've never read anyone say that Rosetta will run native PPC apps at G3 speeds. Anywhere.
jane doe said:
The development docs say right here that altivec is not translated: (link snipped),
Whats the difference in G3 and G4? Altivec.
It is implicitly clear in the article that officially, Altivec is not currently emulated (and OSX86 is claiming it now is). The developer docs officially state the same (ie: no altivec, as you linked).

Naturally we have no idea what Apple is doing behind the scenes. Hence the "rumour" website. What wasn't clear was how you "know" the claim was bogus. Obviously you've confused the rumour with the official position.

My separate question to you was where you had heard emulation would be at G3 speeds. Note the word "speed". The docs say that it emulates a G3 (as I already said), the speed is an entirely different issue.

Anyway, you've clarified your source of knowledge, which is all we can ask :)
 
NickCharles said:
You can defend it till you're blue in the face, it doesn't deserve it. You won't change my mind. Call me any name in the book. Windows will always be a piece of crap. Sadly, Corporate America and most consumers are content to let Microsoft and Windows drag them around by the balls.

Although I definitely prefer Macs, Windows XP is not really that bad in my experience. At least not after I installed Firefox for everyone I know...

OTOH, I did completely hose my Acer notebook doing the SP2 upgrade, and had to wipe and re-install. Luckily, by that time I had switched over to my PowerBook, so there wasn't anything important on it. So maybe Windows does actually suck after all, especially if you actually use IE.

Tilmitt said:
I'm right there with you mate! I'll never ever use an x86 Mac. The lack of idealism that Mac users are showning here is just digusting. PowerPC is a bastion of elegance in a sea of ugly half assed it-will-do-hardware that PC's use. The rest of you guys are cheap whores who do what Steve says. You are exactly the people who desert to the enemy the second a battle goes bad. You convince yourselves that you really were like this all along, but it's just pathetic. None of you talked any way at all like this about Intel before the switch. In short, anything you say is utter crap, cause you just change it when things are no longer easy for you. Sell outs.

Yes, that's what we were all saying. Or not.

I didn't know this was about idealism and religion, I thought it was simply about great computers. And if it is religious, aren't you being blasphemous in your statements about the Steve-ness?

When the rumor was first reported, believe it or not there were plenty of people who were hoping it would become true.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.