Reloaded: Performace OSX vs. Linux auf Intel

  • Ersteller Generalsekretär
  • Erstellt am
Generalsekretär

Generalsekretär

Aktives Mitglied
Thread Starter
Dabei seit
06.06.2005
Beiträge
833
Reaktionspunkte
1
Ich hoffe, dieser Artikel wurde hier nicht bereits zitiert bzw. das ist nicht das falsche Forum.
Ein Statistiker vergleicht die Performance seines Statistikprogramms auf einem Intel-Mac unter Linux und OSX, anknüpfend an einen früheren Vergleich mit einem G5.

http://sekhon.berkeley.edu/macosx/intel.html
 
Darf ich mir die Frage erlauben, warum mein Posting in die Gerüchteküche verfrachtet wurde? Um Spekulationen geht es hier nicht, sondern um einen realworld-Test, bei dem OSX leider nicht eben gut abschneidet.
 
Eben weil Mac OS 10 so schlecht abschneidet!
Manche können sowas halt nicht ertragen, wenn man Mac OS mit anderen OS vergleicht (außer Mac OS schneidet besser ab).
 
Glaub ich auch manchmal - in der Gerüchteküche hat das wirklich nix zu suchen
 
lächerlich diese verschiebungsaktion.
 
interesant ist das Linux auf dem Core Duo richtig versagt finde ich, ich denke man könnte die Performance erhöhen wenn man das Programm und Linux auf dem Core Duo compiliert, deswegn schneidet ja OS X so gut ab da hier alles auf der selben Plattform compiliert wurde.
 
Offensichtlich hat der Autor keine Ahnung von OSX, sonst müßte er wissen, daß OSX kein mixed Kernel ist, sondern ein reiner Mach-Kernal. BSD, wird lediglich im "Userland" genutzt, nicht aber im Kernel. Da der Benchmark bereits am Anfang fundemental FALSCH ist, braucht man eigentlich nicht weiter lesen. Sei mir noch die Bemerkung erlaubt, daß Programme, die für OSX optimiert sind ebenfalls deutlich schneller auf OSX ablaufen und halt Linux "schlecht" aussehen lassen. Es ist immer eine Sache der Perspektive. :rolleyes:

PS Wer wirklich interesse hat ein wenig genaueres über den MACH-Kernel zu erfahren dem kann ich eine wirklich interessante Analyse eines Darwin-Kernel-Entwicklers zur Verfügung stellen (auch wenn er sich auf einen Test von MySQL bezieht, aber auch hier wurde OSX völlig falsch verstanden). ;)
Es ist immer so eine Sache, wenn solche Tests von Linux-Freaks erstellt werden. Die haben in der Regele halt keine Ahnung von OSX. (Denkt dran, traut niemals einer Statistik, die man nicht selber gefälscht hat. :D)
 
Zuletzt bearbeitet:
pdr2002 schrieb:
Offensichtlich hat der Autor keine Ahnung von OSX, sonst müßte er wissen, daß OSX kein mixed Kernel ist, sondern ein reiner Mach-Kernal. BSD, wird lediglich im "Userland" genutzt, nicht aber im Kernel.
Ich dachte, Mac OS X verwendent einen XNU-Kernel?
Und bei dem lese ich immer, dass beispielsweise BSD im Kernel sei..?
 
performa schrieb:
Ich dachte, Mac OS X verwendent einen XNU-Kernel?
Und bei dem lese ich immer, dass beispielsweise BSD im Kernel sei..?
Das ist der große Irrtum der Linux-Jünger, aber es ist definitv nichts vom BSD-Kernel im Kernal vom OSX vorhanden. Der OSX-Kernal ist ein reiner Mach-Kernel. :)
Ach ja, nochmal die genauere Erläuterung von Apple wo der Unterschied zwischen BSD un OSX (Darwin) liegt:

"The purpose of Darwin is to provide the core system software for Mac OS X. It is not designed to be an alternative to other excellent BSD options such as FreeBSD, NetBSD, and OpenBSD. Darwin is simply BSD tweaked in ways we think will help Apple deliver the next great version of the Mac OS. We should note, however, that apart from a few architectural differences (such as our use of the Mach kernel), we try to keep Darwin as compatible as possible with FreeBSD (our BSD reference platform)."
 
Netter Artikel, hätte was werden können, liest sich aber leider wie simples OS X bashing eines LInux-Freaks... Statt andauernd zu schreiben "OS X ist fucking slow", hätte man das auch mit für und wieder verdeutlichen können. Aber so? Neee...

Und mit MySQL-Benchmarks braucht das keiner zu belegen. Man bräuchte MySQL nur mal endlich MACH-Threads beibringen und das dauernde fsync abschalten.
 
Zuletzt bearbeitet von einem Moderator:
Von von Compilern und Laufzeitverhalten hat der Junge auch keine Ahnung. Das beweist er damit:

There are claims on the web that when Apple developers compile OS X on the 970, they use -Os. That is, they optimize for size and not for performance.

Jupps. Korrekt. Kleine Binärdateien = weniger zu laden von der Festplatte (lädt schneller) = weniger RAM-Verbrauch (mehr Platz und weniger Transfer) = mehr Leistung.

Scheint wohl Gentoo-User zu sein, der Junge... Compiliert sein System bis zur hochoptimierten Langsamkeit.
 
-Nuke- schrieb:
Von von Compilern und Laufzeitverhalten hat der Junge auch keine Ahnung. Das beweist er damit:

Jupps. Korrekt. Kleine Binärdateien = weniger zu laden von der Festplatte (lädt schneller) = weniger RAM-Verbrauch (mehr Platz und weniger Transfer) = mehr Leistung.

Ist das irgendwie ironisch gemeint? "-Os" schaltet fast alle Code-Ausrichtungen ab und begenzt das inlining.
 
Zuletzt bearbeitet:
pdr2002 schrieb:
Ach ja, nochmal die genauere Erläuterung von Apple wo der Unterschied zwischen BSD un OSX (Darwin) liegt
So ganz eindeutig scheint mir Apple das mla wieder selbst nicht mit der Sprachregelung zu handhaben. ;)

Note that Mac OS X uses the term kernel somewhat differently than you might expect.

"in traditional Mach-based operating systems, the kernel refers to the Mach microkernel and ignores additional low-level code without which Mach does very little.

In Mac OS X, however, the kernel environment contains much more than the Mach kernel itself. The Mac OS X kernel environment includes the Mach kernel, BSD, the I/O Kit, file systems, and networking components. These are often referred to collectively as the kernel."
 
der artikel is ein witz!
 
-Nuke- schrieb:
Der aber aufgrund der Micro-Kernel-Architektur nix anderes kann als Prozesssteuerung und Speicherverwaltung.

XNU (Name des Kernels) braucht unter OS X aber für Netzwerk usw. den BSD-Kernel, der als MACH-Modul läuft.

http://www.kernelthread.com/mac/osx/arch_xnu.html
Hm,
ich beziehe mein wissen aus der Entwickler-Dokumentation. Hier steht eindeutig: Der Kernel ist der Mach 3.0 und darüber liegt dann die BSD-Schicht, welche dann das Networking und das Filesystem zur Verfügung stellt. Diese ist über eine Kernel-Erweiterung mit dem Mach-Kernel verbunden. Beide Schichten zusammen ergeben dann die Kernel-Umgebung. Es ist also falsch zu behaupten, das OSX auf dem BSD-Kernel aufsetzt, sondern vielmehr ist es so, daß die BSD-Schicht den OSX Kernel um einige, für das OS elementare Funktionen ergänzt. Aber wahrscheinlich meinen wir sowieso das gleiche. ;)
 
Zuletzt bearbeitet von einem Moderator:
performa schrieb:
So ganz eindeutig scheint mir Apple das mla wieder selbst nicht mit der Sprachregelung zu handhaben. ;)

Note that Mac OS X uses the term kernel somewhat differently than you might expect.

"in traditional Mach-based operating systems, the kernel refers to the Mach microkernel and ignores additional low-level code without which Mach does very little.

In Mac OS X, however, the kernel environment contains much more than the Mach kernel itself. The Mac OS X kernel environment includes the Mach kernel, BSD, the I/O Kit, file systems, and networking components. These are often referred to collectively as the kernel."
Nicht wirklich, sie sagen lediglich, da es Betriebssysteme gibt, die nur den Mach-Kernel benutzen, daß OSX im Gegensatz dazu eine Kernel-Umgebung nutzt um die Fähigkeiten des Mach-Kernels zu erweitern, diese Erweiterung setzt auf dem Mach-Kernel auf. Diese 2. (BSD)-Schicht ist halt bei vielen anderen Kernels bereits in dem eigentlichen Kernel enthalten. :cool:
 
Generalsekretär schrieb:
Darf ich mir die Frage erlauben, warum mein Posting in die Gerüchteküche verfrachtet wurde? Um Spekulationen geht es hier nicht, sondern um einen realworld-Test, bei dem OSX leider nicht eben gut abschneidet.


auch wenn ich es nicht verschoben habe: wenn man den thread bis hier hin liest, ist die Frage doch beantwortet oder?

Gruß wegus
 
der_Kay schrieb:
Ist das irgendwie ironisch gemeint? "-Os" schaltet fast alle Code-Ausrichtungen ab und begenzt das inlining.

Nein. Nicht ironisch gemeint. -O0 schaltet alle Code-Optimierungen ab. -Os optimiert nur soweit, das sich der Code nicht aufpumpt. Zumal auf dieser Ebene, die er da anmeckert (Kernel) Code-Optimierungen ala -O3 sowieso nur Probleme machen und so gut wie nichts an Performance bringen.

Zwischen -Os und -O3 liegen die Unterschiede der Größen der Binarys im MB-Bereich.

Und jetzt rate mal. Was geht schneller? Ich lade 500kb von der Platte in den RAM, oder ich lade 3MB von der Platte in den RAM. Was geht schneller, was verbraucht mehr? Und um es vorweg zu sagen. Die "Performance" die die "Code-Optimierung" bringt, frisst sich locker im RAM-Verbrauch und der Startzeit wieder auf.

Von daher ist es VÖLLIG unnötig "normale" Routinen so extrem zu kompilieren. Da bringt Optimierung auf Code-Ebene viel mehr.

Es gab da irgendwo mal eine nette Übersicht dazu. Muss ich mal nach Suchen. Denn dort war gerade auf Kernel-Ebene -Os schneller als ein -O2.
 
-Nuke- schrieb:
Von daher ist es VÖLLIG unnötig "normale" Routinen so extrem zu kompilieren. Da bringt Optimierung auf Code-Ebene viel mehr.
Volle Zustimmung, aber ich fürchte, das wollen hier einige nicht wahr haben ;)
 
Zurück
Oben Unten