Warum Universal Binary?

Kovu

Kovu

Aktives Mitglied
Thread Starter
Dabei seit
11.12.2005
Beiträge
1.691
Reaktionspunkte
101
Hallo!

Ich mach mir schon seit einiger zeit über Sinn und Unsinn über Universal Binarys. Praktisch jeder bietet sie bereits an was allen Intel-Nutzern zugute kommt.

Was mich aber irritiert ist die Tatsache, dass selbst Apple damit nicht mehr zwischen PPC und Intel Version unterscheidet was m.E. nach zu einer extrem unnötigen Aufblähung der Größe von Programmen führt. Selbst das gute Mac OS X nimmt als Universal Binary damit mehr Platz weg (siehe Patchgrößen).

Ist es so schwer für die Programmierer ein Programm zu haben und das dann zwei Mal zu kompilieren (jeweils für PPC und Intel) anstatt ein Mal? Oder habe ich da einen Gedankenfehler? Ich jedenfalls kenne nur eine Software die keine UB anbietet, dafür jeweils eine PPC und Intel Version.
 
der ausführbare Teil eines Programmes ist von der Größe her vernachlässigbar gegen den Rest, deshalb macht es keinen Unterschied ob du UB oder nur eine Version herunterlädst.
Es wird ja zweimal kompiliert, nur daß die ausführbaren Teile dennoch in einem Programmpaket liegen. Das hat den Vorteil, daß der Nutzer sich nicht darum kümmern muss was er für einen Prozessor hat, ähnlich wie bei Rosetta, wo der Nutzer nicht merkt, daß das Programm emuliert wird (außer an der Geschwindigkeit ;) )
Und es erleichtert den Umstieg, da Leute mit wenig Bandbreite sich nicht alles nochmal runterladen müssen.
 
Der Grund ist ganz einfach: auf diese Weise gibt es keinen Unterschied zwischen einem PPC und Intel Mac in der Verwendung der Software. Das Ziel ist es jede Software als Universal Binary zu veröffentlichen, damit läuft sie auf beiden Plattformen. Somit ist es für den Nutzer am Ende egal ob PPC oder Intel, Mac ist Mac.

Aus dem gleichen Grund gibt es auch Rosetta. Software, die noch nicht als Universal Binary verfügbar ist, läuft damit auch auf den Intel Macs.

So gibt es keine PPC-Mac Software oder Intel-Mac Software, sondern einfach nur Mac-Software und der Nutzer muss sich um die CPU keine Gedanken machen.

Dabei geht es also einfach nur um den ease-of-use was die Einführung von Intel CPUs in den Macs betrifft. Speziell in Umgebungen in denen mehr als einen Mac verwendet wird ist das sehr praktisch, da man da nicht akribisch zwischen PPC und Intel unterscheiden muss. Jede Mac Software läuft auf jedem Mac, egal welche CPU er hat.
 
Kovu schrieb:
Was mich aber irritiert ist die Tatsache, dass selbst Apple damit nicht mehr zwischen PPC und Intel Version unterscheidet was m.E. nach zu einer extrem unnötigen Aufblähung der Größe von Programmen führt. Selbst das gute Mac OS X nimmt als Universal Binary damit mehr Platz weg (siehe Patchgrößen).

die verschiedenen sprachpakete nehmen viel mehr platz weg...

Kovu schrieb:
Ist es so schwer für die Programmierer ein Programm zu haben und das dann zwei Mal zu kompilieren (jeweils für PPC und Intel) anstatt ein Mal? Oder habe ich da einen Gedankenfehler? Ich jedenfalls kenne nur eine Software die keine UB anbietet, dafür jeweils eine PPC und Intel Version.

es ist nicht schwierig ein UB zu kompilieren, XCode in der aktuellen version macht das glaub ich auch automatisch...
allerdings muss man da aber auch architektur unterschiede beachten, wenn man sehr nah an der hardware programmiert...
 
Was mich noch interessieren würde:

Ist ein Programm, welches als Universal Binary vorliegt, nicht ein Kompromiss und weder auf PPC, noch auf Intel optimal?

Sprich, würde eine Software, die Intel-only geschrieben ist, die Resourcen besser nutzen und letztendlich schneller und besser laufen als eine UB-Version?

Falls ja, dann ist es wohl nur eine Frage der Zeit bis die ersten Intel-only Progs draussen sind.
 
An-Jay schrieb:
Was mich noch interessieren würde:

Ist ein Programm, welches als Universal Binary vorliegt, nicht ein Kompromiss und weder auf PPC, noch auf Intel optimal?

Sprich, würde eine Software, die Intel-only geschrieben ist, die Resourcen besser nutzen und letztendlich schneller und besser laufen als eine UB-Version?
Das sind bei Normalsoftware theoretische Unterschiede... Das es zb nicht der Fall ist, sieht man an Final Cut, welches in der UB Version auf PPC und Intel enorm schneller läuft
 
An-Jay schrieb:
Was mich noch interessieren würde:

Ist ein Programm, welches als Universal Binary vorliegt, nicht ein Kompromiss und weder auf PPC, noch auf Intel optimal?

Sprich, würde eine Software, die Intel-only geschrieben ist, die Resourcen besser nutzen und letztendlich schneller und besser laufen als eine UB-Version?

Nein. Universal Binary heißt ja nicht, daß man ein Programm zaubert, das auf beiden Prozessoren läuft. Das ist nicht möglich. Es ist ein Paket, das sowohl die binaries für ppc als auch für intel enthält, und der mac sucht sich den teil raus den er ausführen kann.
Das Programm kann so auf beide Plattformen optimiert sein.
 
An-Jay schrieb:
Sprich, würde eine Software, die Intel-only geschrieben ist, die Resourcen besser nutzen und letztendlich schneller und besser laufen als eine UB-Version?
Vernachlässigenswert.
Klar, ein paar Kilobyte oder Megabyte weniger Festplattenspeicher sprängen heraus.
Im Zeitalter von Multi-Gigabyte-Platten vernachlässigbar.
Vielleicht geringfügig langsamere Startzeiten.
Absolut vernachlässigbar.
Merkt kein Mensch.

An-Jay schrieb:
Falls ja, dann ist es wohl nur eine Frage der Zeit bis die ersten Intel-only Progs draussen sind.
Das ist keine Frage der Zeit.
Die gibt's bereits schon.
 
performa schrieb:
Das ist keine Frage der Zeit.
Die gibt's bereits schon.

Echt? Was denn? Mir ist noch keines bekannt.
 
Core Duo Temp? :D
 
An-Jay schrieb:
Echt? Was denn? Mir ist noch keines bekannt.

Ein Brenn-Programm gibt es als Intel-Only. Hab ich mir mal runtergeladen, weiß aber gerade nicht wie es heißt. Es steht auch auf der Blog-Seite eines Mac-Users hier.
 
VLC gibt es auch als Intel-only.
 
An-Jay schrieb:
Echt? Was denn? Mir ist noch keines bekannt.
VLC.
FireFox mal eine Zeitlang (dauert bei einigen Programmen ein Zeitlang, bis Intel- und PPC-Code konsolidiert sind.
Darwine.
Q.

Ansonsten:
Parallels. ;)

Letzteres macht auf PPC-Macs nicht den geringsten "Sinn", ohne CPU-Emulation.

Im übrigen: Ich kann mir sehr gut vorstellen, dass ein Hersteller, der in Zukunft "neu" für Mac OS programmiert/portiert, und hardwarenah programmiert, nur noch für Intel-Macs programmiert. Beispiel: SSE wird implementiert, Altivec lohnt sich nicht mehr.
 
performa schrieb:
Im übrigen: Ich kann mir sehr gut vorstellen, dass ein Hersteller, der in Zukunft "neu" für Mac OS programmiert/portiert, und hardwarenah programmiert, nur noch für Intel-Macs programmiert.
Äh...
Was heißt hier "vorstellen kann"?
Parallels macht es ja genauso. ;)
Und andere werden folgen.
 
Kovu schrieb:
Selbst das gute Mac OS X nimmt als Universal Binary damit mehr Platz weg (siehe Patchgrößen).
osx ist NICHT universal binary.
 
xell42 schrieb:
Ich behaupte das Gegenteil :D
dann behaupte mal weiter.

hast du dir vielleicht auch mal gedanken darueber gemacht, warum die updates fuer osxs nicht universal sind?
 
rtz schrieb:
hast du dir vielleicht auch mal gedanken darueber gemacht, warum die updates fuer osxs nicht universal sind?
Mag sein.
Vermutlich sind die Codebases nicht völlig konsolidiert.

Aber ich habe gerade mal nachgeguckt: Bei mir ist alles Universal.
 
Wie sollte OS X auch auf einem Intel laufen wenn es nicht Universal ist? Wäre es nicht universal hätten die Hacker sich alle das runterladen der "Pre 1st Intel Mac Version" von OS X sparen können :rolleyes:

Zum Thema kein Intel/PPC Programm usw. und sofort:
Bild%201-43.jpg


Als kleine Anmerkung sei gesagt: Ich habe KEINEN Intel Mac! ;)
 
Artaxx schrieb:
Wie sollte OS X auch auf einem Intel laufen wenn es nicht Universal ist?
Na denk doch mal mit, wie das gehen könnte.
Du kommst drauf! :D
 
Zurück
Oben Unten