Wahl des Compilers

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Wahl des Compilers

assabajanischer_hinterwaeldler
hallo zusammen,

ich wollte mal fragen, ob jemand von euch einen alternativen compiler
in gentoo nutzt.
was mich interessiert ist, ob es dadurch einige vorteile gegenueber der
verwendung von gcc gibt. soweit ich das in erinnerung habe, sind einige
compiler deutlich effizienter, kosten dann (vermutlich auch zu recht)
allerdings auch bisschen was.
gibt es also sinnvolle alternativen, die moeglichst auch kostenlos
eingesetzt werden koennen?

das es dafuer keine direkte notwendigkeit gibt, ist mir klar. allerdings
wuerde es mich interessieren, ob sich dadurch noch ein paar prozent
(oder promille?) aus dem system kitzeln lassen und nebenbei mal wieder
ein bisschen was zu lernen (einfluss von flags...)

gruss
martin

Reply | Threaded
Open this post in threaded view
|

Re: Wahl des Compilers

Randolph Maaßen
Am 12. September 2013 10:26 schrieb  <[hidden email]>:

> hallo zusammen,
>
> ich wollte mal fragen, ob jemand von euch einen alternativen compiler
> in gentoo nutzt.
> was mich interessiert ist, ob es dadurch einige vorteile gegenueber der
> verwendung von gcc gibt. soweit ich das in erinnerung habe, sind einige
> compiler deutlich effizienter, kosten dann (vermutlich auch zu recht)
> allerdings auch bisschen was.
> gibt es also sinnvolle alternativen, die moeglichst auch kostenlos
> eingesetzt werden koennen?
>
> das es dafuer keine direkte notwendigkeit gibt, ist mir klar. allerdings
> wuerde es mich interessieren, ob sich dadurch noch ein paar prozent
> (oder promille?) aus dem system kitzeln lassen und nebenbei mal wieder
> ein bisschen was zu lernen (einfluss von flags...)
>
> gruss
> martin
>

Hi,

es gibt als LLVM C-compiler den clang, der soll beim compilieren
ressourcenfreundlicher sein, jedoch habe ich davon noch nicht viel
mitbekommen. clang ist auf gcc-Kompatibilität ausgelegt, heißt er
kennt die gleichen Kommandozeilenparameter, und der binäre output ist
auch (fast) gleich.

Jedoch laufen nicht alle Programme unter gentoo, wenn diese mit clang
compiliert wurden, da muss man ein wenig arbeit investieren, und die
Programme selbst Testen.

Um den clang zu nutzen habe ich die portage environment clang erstellt
und den einzelnen Paketen zugewiesen. Dafür haben die folgenden
Dateien den Inhalt:

/etc/portage/env/clang:
CC=clang
CXX=clang++

/etc/portage/package.end/clang:
sys-devel/clang clang
media-video/mplayer clang
<gorup>/<pkgname> clang
...

--
Mit freundlichen Grüßen / Best regards

Randolph Maaßen

Reply | Threaded
Open this post in threaded view
|

Re: Wahl des Compilers

Uwe Scholz
In reply to this post by assabajanischer_hinterwaeldler
Hallo Martin,

[hidden email] schrieb am [Thu, 12.09.2013 10:26]:
> hallo zusammen,
>
> ich wollte mal fragen, ob jemand von euch einen alternativen compiler
> in gentoo nutzt.
> ...
>

ich verwende neben dem GCC auch ICC für einige Programme. Da ich auch
hobbymäßig programmiere, konnte ich in meinem Monte-Carlo-Programm einen
bis zu 20%igen Geschwindigkeitsvorteil bei der Verwendung von ICC
gegenueber GCC feststellen. Das funktioniert auch beim Packen von Daten
z.B. mittels bzip2 oder tar, mit denen ich das vor einiger Zeit
ausführlich getestet habe.

Dabei hängt es natürlich davon ab, was man für einen Rechner/Prozessor
besitzt, und ob ICC aus diesem noch etwas rauskitzeln kann. Bei meinem
T400 von Lenovo scheint das wohl gut zu funktionieren, aber auf meinem
alten Intel Celeron PC sind die Optimierungen von GCC und ICC nahezu
identisch. Faustregel also: Je neuer der Prozessor, desto eher lohnt
sich der Umstieg auf den ICC bei bestimmten Anwendungen.

Für die Einrichtung vom ICC hat mir
http://www.gentoo-wiki.info/HOWTO_ICC_and_Portage sehr
geholfen. Besonders komfortabel ist, dass man dann in der portage.icc
einstellen kann, welche Pakete mit dem ICC übersetzt werden sollen und
portage sich anschließend um alles weitere kümmert. In dieser Datei
stehen bei mir jetzt einige Programme drin, hauptsächlich
Grafik/Multimedia-Anwendungen. Sicherheitskritische Software würde ich
dort allerdings nicht eintragen, insbesondere solche, die für
Verschlüsselung zuständig sind - man weiß ja nie.

Es gab wohl/gibt Antstrengungen, den gesamten Kernel mit dem ICC zu
übersetzen. Aber das ist, soweit ich weiß, nie über den experimentellen
Status hinaus gegangen. Aufgrund der aktuellen Debatte hätte ich da auch
wirklich meine Zweifel, ob man das überhaupt will. Aber das ist ein
anderes Thema.

Die Verwendung des ICC ist für den Privatgebrauch kostenfrei. Man muss
sich vor der Installation erst eine Lizenzdatei beschaffen und sich
einmalig bei Intel anmelden. Wie das genau geht, wird bei der
Installation mittels emerge und dann in der angezeigten Webseite
erklärt, IIRC.

> gruss
> martin

Viele Grüße,
Uwe

--
An Rheumatismen und an wahrer Liebe glaubt man erst, wenn man davon
befallen wird.
                -- Marie von Ebner-Eschenbach

Reply | Threaded
Open this post in threaded view
|

Re: Wahl des Compilers

Randy Andy
In reply to this post by Randolph Maaßen

Hallöle,

 

Am Donnerstag, 12. September 2013, 10:38:20 schrieb Randolph Maaßen:

> Am 12. September 2013 10:26 schrieb <[hidden email]>:

> > hallo zusammen,

snip

> >

> > das es dafuer keine direkte notwendigkeit gibt, ist mir klar. allerdings

> > wuerde es mich interessieren, ob sich dadurch noch ein paar prozent

> > (oder promille?) aus dem system kitzeln lassen und nebenbei mal wieder

> > ein bisschen was zu lernen (einfluss von flags...)

Unter diesen Aspekten kannst Du natürlich auch mal die LTO Optimierung des GCC aktivieren.

Ich hab schon mal mein gesamtes System damit durchkompiliert und dabei auch so einiges gelernt - hust.

 

Hier mal einpaar Referenzen, falls die das noch nichts sagt:

http://forums.gentoo.org/viewtopic-t-954376-highlight-.html

http://realnc.blogspot.de/2012/06/building-gentoo-linux-with-gcc-47-and.html

 

 

> >

> > gruss

> > martin

> >

>

> Hi,

>

> es gibt als LLVM C-compiler den clang, der soll beim compilieren

> ressourcenfreundlicher sein, jedoch habe ich davon noch nicht viel

> mitbekommen. clang ist auf gcc-Kompatibilität ausgelegt, heißt er

> kennt die gleichen Kommandozeilenparameter, und der binäre output ist

> auch (fast) gleich.

>

> Jedoch laufen nicht alle Programme unter gentoo, wenn diese mit clang

> compiliert wurden, da muss man ein wenig arbeit investieren, und die

> Programme selbst Testen.

Das hätte ich zwar auch nicht anders erwartet, jedoch wundert es mich das er bei BSD ja anscheinend so stabil laufen soll, das er künftig als vollständiger Ersatz taugen soll:

http://www.pro-linux.de/news/1/20238/freebsd-entfernt-gcc-aus-der-standarddistribution.html

 

 

Am Donnerstag, 12. September 2013, 11:14:50 schrieb Uwe Scholz:

> Hallo Martin,

>

snip

>

> Für die Einrichtung vom ICC hat mir

> http://www.gentoo-wiki.info/HOWTO_ICC_and_Portage sehr

> geholfen.

snip

> Sicherheitskritische Software würde ich

> dort allerdings nicht eintragen, insbesondere solche, die für

> Verschlüsselung zuständig sind - man weiß ja nie.

Jaha, da spielst Du wohl auf dererlei Dinge an ;-)

http://www.golem.de/news/linux-kernel-bessere-zufallszahlen-selbst-mit-nsa-backdoor-1309-101525.html

 

>

> Es gab wohl/gibt Antstrengungen, den gesamten Kernel mit dem ICC zu

> übersetzen. Aber das ist, soweit ich weiß, nie über den experimentellen

> Status hinaus gegangen. Aufgrund der aktuellen Debatte hätte ich da auch

> wirklich meine Zweifel, ob man das überhaupt will. Aber das ist ein

> anderes Thema.

Yep, siehe oben.

>

> Die Verwendung des ICC ist für den Privatgebrauch kostenfrei. Man muss

> sich vor der Installation erst eine Lizenzdatei beschaffen und sich

> einmalig bei Intel anmelden. Wie das genau geht, wird bei der

> Installation mittels emerge und dann in der angezeigten Webseite

> erklärt, IIRC.

Offensichtlich habe damit einige Leute (nur in neuerer Zeit?) Probleme, wie ich kürzlich zufällig im Forum las:

http://forums.gentoo.org/viewtopic-t-951550-highlight-.html

 

Informellen Gruß,

 

Andy.

Reply | Threaded
Open this post in threaded view
|

Re: Wahl des Compilers

Randolph Maaßen
Am 12. September 2013 17:18 schrieb Randy Andy <[hidden email]>:

> Hallöle,
>
>
>
> Am Donnerstag, 12. September 2013, 10:38:20 schrieb Randolph Maaßen:
>
>> Am 12. September 2013 10:26 schrieb
>> <[hidden email]>:
>
>> > hallo zusammen,
>
> snip
>
>> >
>
>> > das es dafuer keine direkte notwendigkeit gibt, ist mir klar. allerdings
>
>> > wuerde es mich interessieren, ob sich dadurch noch ein paar prozent
>
>> > (oder promille?) aus dem system kitzeln lassen und nebenbei mal wieder
>
>> > ein bisschen was zu lernen (einfluss von flags...)
>
> Unter diesen Aspekten kannst Du natürlich auch mal die LTO Optimierung des
> GCC aktivieren.
>
> Ich hab schon mal mein gesamtes System damit durchkompiliert und dabei auch
> so einiges gelernt - hust.
>
>
>
> Hier mal einpaar Referenzen, falls die das noch nichts sagt:
>
> http://forums.gentoo.org/viewtopic-t-954376-highlight-.html
>
> http://realnc.blogspot.de/2012/06/building-gentoo-linux-with-gcc-47-and.html
>
>
>
>
>
>> >
>
>> > gruss
>
>> > martin
>
>> >
>
>>
>
>> Hi,
>
>>
>
>> es gibt als LLVM C-compiler den clang, der soll beim compilieren
>
>> ressourcenfreundlicher sein, jedoch habe ich davon noch nicht viel
>
>> mitbekommen. clang ist auf gcc-Kompatibilität ausgelegt, heißt er
>
>> kennt die gleichen Kommandozeilenparameter, und der binäre output ist
>
>> auch (fast) gleich.
>
>>
>
>> Jedoch laufen nicht alle Programme unter gentoo, wenn diese mit clang
>
>> compiliert wurden, da muss man ein wenig arbeit investieren, und die
>
>> Programme selbst Testen.
>
> Das hätte ich zwar auch nicht anders erwartet, jedoch wundert es mich das er
> bei BSD ja anscheinend so stabil laufen soll, das er künftig als
> vollständiger Ersatz taugen soll:
>
> http://www.pro-linux.de/news/1/20238/freebsd-entfernt-gcc-aus-der-standarddistribution.html

Ich gestehe, das letzte mal, das ich mich darum gekümmert habe ist
schon ein paar Monate her, und ich habe heute nochmal drüber geschaut.
Getestet hab ich auch noch nicht besonders viel, nur ein paar
GUI-Programme wo man recht schnell merkt was da genau kaputt ist. Zwei
Programme haben bei mir mit dem clang Fehler, gimp-2.8.6 hat Fehler
beim compilieren und Chromium hat nen Laufzeitfehler beim starten (ein
chrome subprozess fährt schleife).

Bisher hab ich auch wie beschrieben den clang opt-in gemacht, hab ich
auch in den letzten tagen von dem BSD-Schritt gehört, und ein Kollege
meinte heute, "mach doch default clang und wo es nicht geht gcc". Ich
glaube, das werde ich nach der aktuellen Klausurphase einmal
ausprobieren.


>
>
>
>
>
> Am Donnerstag, 12. September 2013, 11:14:50 schrieb Uwe Scholz:
>
>> Hallo Martin,
>
>>
>
> snip
>
>>
>
>> Für die Einrichtung vom ICC hat mir
>
>> http://www.gentoo-wiki.info/HOWTO_ICC_and_Portage sehr
>
>> geholfen.
>
> snip
>
>> Sicherheitskritische Software würde ich
>
>> dort allerdings nicht eintragen, insbesondere solche, die für
>
>> Verschlüsselung zuständig sind - man weiß ja nie.
>
> Jaha, da spielst Du wohl auf dererlei Dinge an ;-)
>
> http://www.golem.de/news/linux-kernel-bessere-zufallszahlen-selbst-mit-nsa-backdoor-1309-101525.html
>
>
>
>>
>
>> Es gab wohl/gibt Antstrengungen, den gesamten Kernel mit dem ICC zu
>
>> übersetzen. Aber das ist, soweit ich weiß, nie über den experimentellen
>
>> Status hinaus gegangen. Aufgrund der aktuellen Debatte hätte ich da auch
>
>> wirklich meine Zweifel, ob man das überhaupt will. Aber das ist ein
>
>> anderes Thema.
>
> Yep, siehe oben.
>
>>
>
>> Die Verwendung des ICC ist für den Privatgebrauch kostenfrei. Man muss
>
>> sich vor der Installation erst eine Lizenzdatei beschaffen und sich
>
>> einmalig bei Intel anmelden. Wie das genau geht, wird bei der
>
>> Installation mittels emerge und dann in der angezeigten Webseite
>
>> erklärt, IIRC.
>
> Offensichtlich habe damit einige Leute (nur in neuerer Zeit?) Probleme, wie
> ich kürzlich zufällig im Forum las:
>
> http://forums.gentoo.org/viewtopic-t-951550-highlight-.html
>
>
>
> Informellen Gruß,
>
>
>
> Andy.



--
Mit freundlichen Grüßen / Best regards

Randolph Maaßen

Reply | Threaded
Open this post in threaded view
|

Re: Wahl des Compilers

Uwe Scholz
In reply to this post by Randy Andy
Randy Andy <[hidden email]> schrieb am [Thu, 12.09.2013 17:18]:

> Hallöle,
> >
> > Für die Einrichtung vom ICC hat mir
> > http://www.gentoo-wiki.info/HOWTO_ICC_and_Portage sehr
> > geholfen.
> snip
> > Sicherheitskritische Software würde ich
> > dort allerdings nicht eintragen, insbesondere solche, die für
> > Verschlüsselung zuständig sind - man weiß ja nie.
> Jaha, da spielst Du wohl auf dererlei Dinge an ;-)
> > http://www.golem.de/news/linux-kernel-bessere-zufallszahlen-selbst-mit-nsa-backdoor-1309-101525.html

*hüstel* Daran habe ich nämlich auch gedacht, aber schon bevor es
bekannt wurde... ;-)

> Informellen Gruß,
>
> Andy.

Ciao,
Uwe

--
FOR SALE:
    Parachute.  Used once.  Never opened.  Slightly Stained.

Reply | Threaded
Open this post in threaded view
|

Re: Wahl des Compilers

assabajanischer_hinterwaeldler
In reply to this post by Randolph Maaßen
On Thu, Sep 12, 2013 at 05:58:23PM +0200, Randolph Maaßen wrote:

> Am 12. September 2013 17:18 schrieb Randy Andy <[hidden email]>:
> > Hallöle,
> >
> > Am Donnerstag, 12. September 2013, 10:38:20 schrieb Randolph Maaßen:
> >> Am 12. September 2013 10:26 schrieb
> >> <[hidden email]>:
> >> > hallo zusammen,
> > snip
> >> >
> >> > das es dafuer keine direkte notwendigkeit gibt, ist mir klar. allerdings
> >> > wuerde es mich interessieren, ob sich dadurch noch ein paar prozent
> >> > (oder promille?) aus dem system kitzeln lassen und nebenbei mal wieder
> >> > ein bisschen was zu lernen (einfluss von flags...)
> >
> > Unter diesen Aspekten kannst Du natürlich auch mal die LTO Optimierung des
> > GCC aktivieren.
> >
> > Ich hab schon mal mein gesamtes System damit durchkompiliert und dabei auch
> > so einiges gelernt - hust.
> >
> > Hier mal einpaar Referenzen, falls die das noch nichts sagt:
> > http://forums.gentoo.org/viewtopic-t-954376-highlight-.html
> > http://realnc.blogspot.de/2012/06/building-gentoo-linux-with-gcc-47-and.html
> >> es gibt als LLVM C-compiler den clang, der soll beim compilieren
> >> ressourcenfreundlicher sein, jedoch habe ich davon noch nicht viel
> >> mitbekommen. clang ist auf gcc-Kompatibilität ausgelegt, heißt er
> >> kennt die gleichen Kommandozeilenparameter, und der binäre output ist
> >> auch (fast) gleich.
> >
> >>
> >
> >> Jedoch laufen nicht alle Programme unter gentoo, wenn diese mit clang
> >> compiliert wurden, da muss man ein wenig arbeit investieren, und die
> >> Programme selbst Testen.
> >
> > Das hätte ich zwar auch nicht anders erwartet, jedoch wundert es mich das er
> > bei BSD ja anscheinend so stabil laufen soll, das er künftig als
> > vollständiger Ersatz taugen soll:
> > http://www.pro-linux.de/news/1/20238/freebsd-entfernt-gcc-aus-der-standarddistribution.html
>
> > Am Donnerstag, 12. September 2013, 11:14:50 schrieb Uwe Scholz:
> >> Hallo Martin,
> > snip
> >> Für die Einrichtung vom ICC hat mir
> >> http://www.gentoo-wiki.info/HOWTO_ICC_and_Portage sehr
> >> geholfen.
> > snip
> >> Sicherheitskritische Software würde ich
> >> dort allerdings nicht eintragen, insbesondere solche, die für
> >> Verschlüsselung zuständig sind - man weiß ja nie.
> > Jaha, da spielst Du wohl auf dererlei Dinge an ;-)
> > http://www.golem.de/news/linux-kernel-bessere-zufallszahlen-selbst-mit-nsa-backdoor-1309-101525.html
> >
> >>
> >> Es gab wohl/gibt Antstrengungen, den gesamten Kernel mit dem ICC zu
> >> übersetzen. Aber das ist, soweit ich weiß, nie über den experimentellen
> >> Status hinaus gegangen. Aufgrund der aktuellen Debatte hätte ich da auch
> >> wirklich meine Zweifel, ob man das überhaupt will. Aber das ist ein
> >> anderes Thema.
> >
> > Yep, siehe oben.
> >
> >
> >> Die Verwendung des ICC ist für den Privatgebrauch kostenfrei. Man muss
> >> sich vor der Installation erst eine Lizenzdatei beschaffen und sich
> >> einmalig bei Intel anmelden. Wie das genau geht, wird bei der
> >> Installation mittels emerge und dann in der angezeigten Webseite
> >> erklärt, IIRC.
> >
> > Offensichtlich habe damit einige Leute (nur in neuerer Zeit?) Probleme, wie
> > ich kürzlich zufällig im Forum las:
> >
> > http://forums.gentoo.org/viewtopic-t-951550-highlight-.html
> > Informellen Gruß,
> > Andy.
> --
> Mit freundlichen Grüßen / Best regards
>
> Randolph Maaßen
>

danke fuer die ausbreitung der moeglichkeiten.
ueber clang hatte ich auch schon einige male gelesen. das icc fuer den
privaten gebrauch frei ist, war mir allerdings neu.
leider waren die beschreibungen auf den intel seiten nicht sonderlich
gut, sodass die ganze sache ein wenig laenger gedauert hat, bis ich die
lizenz datei gefunden hab.

die moeglichkeit, eine auswahl zu verwenden, was mit icc compiliert
werden soll gefaellt mir soweit ganz gut. an der stelle ist mir
allerdings aufgefallen, dass die umgebungsvariable OCC und OCX scheinbar
nicht in den manpages beschrieben ist oder habe ich da etwas uebersehen?

die sache mit lto habe ich bisher erstmal nur ueberflogen, klingt aber
in jedemfalle interessant und werde ich mir wohl auch nochmal etwas
naeher anschauen. jetzt darf sich mein system aber erstmal noch neu
compiliert werden, um zu sehen ob das mit dem icc auch alles rund
laeuft. das es auf anhieb klappt, wuerde mich selbst ueberraschen. aber
wo bliebe denn sonst der spass ;)

danke nochmal fuer die ganzen infos
martin

Reply | Threaded
Open this post in threaded view
|

Re: Wahl des Compilers

Uwe Scholz
Hiho,

[hidden email] schrieb am [Mo, 16.09.2013 18:35]:
> [...]
> die moeglichkeit, eine auswahl zu verwenden, was mit icc compiliert
> werden soll gefaellt mir soweit ganz gut. an der stelle ist mir
> allerdings aufgefallen, dass die umgebungsvariable OCC und OCX scheinbar
> nicht in den manpages beschrieben ist oder habe ich da etwas uebersehen?

Dazu kann ich dir leider nichts sagen, ist mir selbst noch gar nicht
aufgefallen :-)

> [...] jetzt darf sich mein system aber erstmal noch neu compiliert
> werden, um zu sehen ob das mit dem icc auch alles rund laeuft. das es
> auf anhieb klappt, wuerde mich selbst ueberraschen. aber wo bliebe
> denn sonst der spass ;)

Du sagst es! Dafür ist gentoo doch da! :-)

> danke nochmal fuer die ganzen infos
> martin

Gerne!

Ciao,
Uwe

--
Save a little money each month and at the end of the year you'll be
surprised at how little you have.
                -- Ernest Haskins