Selbst compilieren sinnvoll?

davidbaumann

Commodore
Registriert
Aug. 2004
Beiträge
4.867
Hallo zusammen,

mich würde mal interessieren, welche Vorteile es mir heutzutage bringt, Gentoo zu verwenden.
Sagen wir mal, 2x das gleiche System, selbe Pakete...

Einmal für x64 kompiliert, einmal für meine Architektur (Haswell).

Es geht mir hier nicht unbedingt um die Performance, allerdings könnte ich mir einen Energiespareffekt vorstellen, wenn alle Binaries auf die Architektur optimiert sind.
Eventuell sogar den Intel Compiler verwenden?

​Gruß.
 
Haswell ist eine x86-x64/amd64 Architektur (dafür sollte Gentoo schon vorliegen...)

Energieersparnis dürfte wohl defacto (wenn wirkliche Treiber vorliegen auch bei ca. 0,0 % liegen...


tmkoeln
 
Durch das selbst kompilieren, kannst du höchstens sicherstellen, dass du am ende eine 100%ige Binary erhälst aus den Sourcen. Soll ja paranoide Menschen geben ;)
Energiesparen wirst du damit kaum.
 
Also ne Energieersparnis wirds wohl kaum geben. Zwar werden die selbst kompilierten Pakete wohl kleiner und ein wenig schneller (beides wohl im Promill Bereich), aber die Zeit die die CPU beim Kompilieren unter Volllast verbringt wird man wohl kaum aufholen können.

Wirklich Sinn ergibt es nur wenn du häuft Anwendungen einsetzt die neue Features wie SSE 4.2 nutzen und die sonst in anderen Distributionen nicht einkomipiliert sind. Dann hast du wirklich nen ordentlichen Schub, weil du ja genau auf deine Zielarchitektur zugeschnittene Pakete erstellst.
 
Im Kernel selber hast du erstmal nur folgende Auswahlmöglichkeiten:

  • Opteron/Athlon64/Hammer/K8
  • Intel P4/older Netburst based Xeon
  • Core 2/newer Xeon
  • Intel Atom
  • Generic-x86-64

GCC kann dann per march=native selber raussuchen was deine CPU alles unterstützt und das dann beim Kompilieren als Optionen setzen.

Für den Alltag und als normaler Nutzer wird dir das allerdings nicht viel bringen. Wie schon erwähnt wurde, bedarf es da schon spezielleren Fällen, wo ein bestimmter Befehlssatz deiner CPU genutzt werden kann. Stromsparen fällt durch das Kompilieren natürlich auch weg ;)

Ich benutze Gentoo schon seit einigen Jahren und sehe es eher als Hobby. Rolling Release gefällt mir sehr gut und als "unstable" bekomme ich auch sehr aktuelle Software. Man sollte allerdings gut mit der Konsole auskommen, aber das kommt mit der Zeit von alleine.

Hier im Forum werden Rolling Release-Distributionen gerne schlecht gemacht, aber ganz so schlimm sind sie dann doch nicht ;)

Zusammenfassend kann man sagen:
- Entweder hast du einen guten Grund Gentoo zu benutzen, z.B. spezielle Software, oder
- du hast einfach Interesse an Gentoo und willst es aus Prinzip mal nutzen.

Ansonsten reicht jede andere Distribution ;)


*edit*
Kleiner Nachtrag:
Wenn man den Compiler nicht "richtig" einstellt, ist Gentoo wahrscheinlich sogar langsamer als andere Distributionen, da einfach gar nichts optimiert wird.
 
Zuletzt bearbeitet:
Im Groben unterschreibe ich, was aki schon geäußert hat. Allerdings gibt es für mich noch einen anderen Grund, warum (rare) Ausflüge zu anderen Distributionen für mich nur von kurzer Dauer sind: die Paketverwaltung unter Gentoo bietet Möglichkeiten, die ich irgendwann dann woanders doch recht schnell sehr vermisst habe.

Meine Empfehlung lautet: wenn Interesse besteht, einfach ausprobieren und sich nicht sofort entmutigen lassen, wenn der erste selbstgebaute Kernel nicht gleich beim erstem Mal bootet. Wenn es dann später nicht gefällt, kann man es immer noch durch was anderes ersetzen.
 
Hallo,

mir geht es ja nicht darum, insgesamt Strom zu sparen. Sondern wenn ich über Akku arbeite.

​Gruß.
 
Ich bezweifel, dass dir Gentoo in diesem Fall einen merkbaren Vorteil bringt. Den Aufwand ist es nicht wert.

Gentoo habe ich auch mal auf meinem Notebook versucht, die Konfiguration empfand ich aber noch eine Ecke komplizierter als auf dem Desktop-PC. Ich war dann insgesamt nicht zufrieden damit. Die Hardware war auch nicht im Ansatz so leistungsfähig, wodurch Updates dann wirklich ewig brauchten.

Kann ich nicht empfehlen.
 
@davidbaum: Durch einen selbst kompilierten Kernel wirst du wenn überhaupt nur messbare Differenzen herausarbeiten können. Real ist das jedoch kompkett unbedeutend. Paar wackler an der Maus und schon würde die Laufzeit im Alltag weit stärker abweichen ;).

Haswell ist zum Beispiel vor allem mit der AVX2 Befehlssatzerweiterung zu extremen Rekorden fähig. Nur wird kein gescheiter Kernelentwickler 256bit breite Floatingpointoperationen verwenden wenn es sich nicht irgendwie* vermeiden lässt.


*also immer :D


edit: Hatte was von 512bit geschrieben, das stimmte natürlich nicht. Haswell kann "nur" 256bit in einem Rutsch verdauen
 
Zuletzt bearbeitet:
@Photon: da ich pacman nur oberflächlich kenne, kann es sein, dass ich einiges nenne, was pacman kann, mag mich aber auch kurz fassen, damit das Thema nicht abdriftet.
Das mir persönlich wichtigste (und wahrscheinlich auch allgemein bekannte) sind USE-Flags, damit schaffe ich es so wenig wie nötig libs auf dem Rechner zu haben. Ob das notwenig oder nützlich ist, darüber kann man streiten, ich persönlich mag so ein System. Direkt danach kommt auch schon das maskieren von Paketversionen. Mit portage kann ich extrem feingranular Versionen die ich nicht haben will, weil das System inkompatibel mit denen ist (z.B. bestimmte Xorg-Treiber) maskieren, damit diese nicht installiert werden. Was ich auch ganz angenehm finde, dass im Portage-Tree selten nur die neueste und/oder stabile Version eines Paketes enthalten sind sondern oft auch noch viele andere. Das macht dann ein Up-/Downgrade ziemlich einfach. Und dass man Pakete parallel installieren kann, macht den Installationsprozess von kleineren Paketen (was ca. 85% der installierten abdeckt) bei entsprechender Hardware (viele Kerne, 4 reichen nicht...) ziemlich flott.

Zum Thema auch noch was kurzes: ich habe gentoo auch auf nem Notebook (ein altes Thinkpad Edge mit nem Neo K625) und Strom spart man durch gentoo allein hier nicht. Effektiver ist es da eher Dienste abzuschalten, die man nicht braucht oder das Display einfach eine Stufe dunkler zu stellen. Ordentliche Energiesparmaßnahmen haben tatsächlich fast alle Distributionen schon vorab drin.
 
Das klingt ziemlich komfortabel, mal schauen, ob ich Gentoo irgendwann in den Semesterferien mal wieder eine Chance gebe (in einer VM vorerst). Der vorherige Versuch scheiterte grandios, irgendwas hat mit stage3 nicht geklappt oder so etwas, ist schon ein paar Jahre her...
 
Photon: wünsche dir mehr Erfolg als das letzte Mal! Ein Tipp mag ich dir noch mitgeben: seit 2.2 merkt sich portage Link-Dependencies. Solltest du dann mal ein Paket aktualisieren, dessen update dafür sorgen würde, dass Pakete, die gegen dagegen gelinkt haben, zu broken libs werden, dann lässt portage diese Dateien erstmal liegen, bis man die entsprechend abhängenden Pakete neu baut. Portage merkt sich diese Abhängigkeiten aber nur für die Pakete, die du selbst installierst. Ob diese Abhängigkeits-DB im stage3 schon drin ist, weiß ich grad nicht, aber im Zweifel machst dann halt direkt nach der Grundinstallation ein "emerge -aev world" (was mMn sowieso zu empfehlen ist).
 
Zum Akku sparen lohnt es sich eher an der Konfiguration des Systems zu schrauben, damit es die besten Tiefschlaf-Modi beherrscht und damit es möglicht selten aus seinem Tiefschlaf rausgeholt wird. Mit optimierten Binaries erreichst du wenig, insbesondere bei x64 nicht, wo die "mieseste Basisplattform" schon sehr potent ist. Also eher mit Powertop statt dem Compiler rumspielen.
 
Danke mal für die Tipps.
Powertop läuft schon. Bin nur noch nicht ganz sicher, ob INTEL_PSTATE schon aktiv ist...

​Gruß.
 
Zurück
Oben