PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Intel C++ Compiler 30% schneller als GCC3 ?



Biersauf
16.10.03, 15:48
Schaut es euch mal an ;)

http://www.intel.com/software/products/compilers/clin/

stefan-tiger
16.10.03, 15:59
hat das jemand irgendwo getestet?

ich halte 30% für ein gerücht wenn man kein P4 oder ähnliches hat.

gruß

Jinto
16.10.03, 17:13
in irgendeiner ct+iX gabs nen Test zwischen den beiden.

HTH

Liberace
16.10.03, 17:17
Jo, gab es, weiss leider auch gerade nicht mehr welche, weiss auch nicht ob es 30% waren, was ich aber noch weiss ist, dass der Intel Compiler deutlich! schneller war als der gcc. Es koennten gut 30% gewesen sein.

Gruss
Liberace

NeuLinuxianer
16.10.03, 18:12
kann man damit auch den kernel kompillieren? wenn ja woher weiß make dann das er nicht gcc sondern den von intel nutzen soll?

cybercrow
16.10.03, 18:15
Original geschrieben von NeuLinuxianer
kann man damit auch den kernel kompillieren? wenn ja woher weiß make dann das er nicht gcc sondern den von intel nutzen soll?

Hier eine Antwort von Alan Cox, als sich jemand auf der kernel-mailingliste meldete und Probleme mit dem kernel und dem intel compiler hatte:

" Build a kernel with the proper gcc. Reports with a non standard compiler are useless."

SeeksTheMoon
16.10.03, 19:24
man kann den Kernel mit dem icc kompilieren. Ich habe irgendwann irgendwo (in der Kerneldoku?) gelesen, dass das inzwischen geht.
Und der icc ist wirklich wesentlich schneller als der gcc.
Aber das beste ist, dass eine ältere Version des icc besser für Athlons optimiert hat, als für Pentiums :D
Intel hat dann mit nem kleinen Patch nachgeholfen, dass nun der Pentium die Nase vorn hat.

Jasper
16.10.03, 20:10
Original geschrieben von Biersauf
Schaut es euch mal an ;)

http://www.intel.com/software/products/compilers/clin/

es ist bekannt, dass gcc nicht das schnellste compilat unter der sonne erzeugt. dafür ist er fast überall verfügbar im gegensatz zum icc, der nur auf intel-prozessoren optimiert ist.

linux journal issue 106(?) hatte mal einen (recht guten) beitrag über icc.

-j

Jasper
16.10.03, 20:11
Original geschrieben von Liberace
Jo, gab es, weiss leider auch gerade nicht mehr welche, weiss auch nicht ob es 30% waren, was ich aber noch weiss ist, dass der Intel Compiler deutlich! schneller war als der gcc. Es koennten gut 30% gewesen sein.


kommt ganz auf den test an: bei floatingpoint-ops (whetstone-benchmark) sind durchaus 30% und mehr drin, bei integer-arithmetik sind die unterschiede marginal.

-j

fsd
16.10.03, 20:26
Es ist unmöglich, dass Code nur durch optimierungen 30% schneller wird. Wie soll das gehen?
(Ich spreche nicht von nichtssagenden Benchmarks wie whetstones oder sowas, sondern von normalem Code)

MFG fsd.

Jasper
16.10.03, 21:07
Original geschrieben von fsd
Es ist unmöglich, dass Code nur durch optimierungen 30% schneller wird. Wie soll das gehen?
(Ich spreche nicht von nichtssagenden Benchmarks wie whetstones oder sowas, sondern von normalem Code)


so es ist unmöglich? warum? gibts ein naturgesetz, was dagegen spricht?

häng dich nicht an whetstone auf, war nur ein benchmarkbeispiel.
es gibt benchmarks (z.b. scimark für wissenschaftliche anwendungen), die recht gut die verschiedenen anwendungen simulieren.

frag mal einen physiker, was er in seinem modellen so berechnet. warum soll sein floatingpoint-lastiger code kein normaler code sein? andersherum gefragt: was ist bei dir normaler code?

achja, hier vergleich mit verschiedenen benchmarks.
http://www.coyotegulch.com/reviews/intel_comp/intel_gcc_bench2.html

sieh dirs selbst an.

-j

SeeksTheMoon
16.10.03, 21:21
Die Intel-Ingenieure kennen ihre CPU halt am besten, deshalb können sie das auch am besten ausreizen. Am gcc schreibt jeder ahnungslose Student mit (nein, nicht wirklich, aber es ist klar was ich sagen wollte, oder?)

Hat jemand Erfahrungen mit dem ICC unter Gentoo gesammelt? Installation, Bedienung, CFLAGS?

Das emerge saugt und entpackt den nur, den Rest muss man wohl selber machen...

sepp2k
16.10.03, 21:31
@SeeksTheMoon: Welchen Rest? Um ihn als Standard-Compiler festzulegen müsstest du doch eigentlich nur die CC-Varaible auf /da/ist/der/icc setzen, oder nicht?

Jasper
16.10.03, 21:37
Original geschrieben von sepp2k
@SeeksTheMoon: Welchen Rest? Um ihn als Standard-Compiler festzulegen müsstest du doch eigentlich nur die CC-Varaible auf /da/ist/der/icc setzen, oder nicht?

die flags sind entscheidend und die sind stellenweise anders als die vom gcc,
z.b. -O3 -tpp7 -fno-alias -xW -ipo -unroll

-j

fsd
16.10.03, 21:46
Leute, überlegt doch mal, wieviel 30% Geschwindigkeitszuwachs sind! Das ist so extrem hoch, das kann nicht stimmen (oder nur in synthetischen benchmarks simulierbar sein.).
Das würde heißen, eine 2Ghz CPU könnte man zu einer 2.6Ghz CPU machen (nur mal um Zahlen zu nennen. Ich weiß, dass Mhz Werte nichts über die Leistungsfähigkeit aussagen), nur wenn man icc benutzt. Das ist doch wohl sehr unrealistisch.

Was hingegen hinkommen kann, ist dass der icc beim _kompilieren_ 30% schneller als der gcc ist. (Also nicht der resultierende Code).

MFG fsd.

Jasper
16.10.03, 22:27
Original geschrieben von fsd
Leute, überlegt doch mal, wieviel 30% Geschwindigkeitszuwachs sind! Das ist so extrem hoch, das kann nicht stimmen (oder nur in synthetischen benchmarks simulierbar sein.).
Das würde heißen, eine 2Ghz CPU könnte man zu einer 2.6Ghz CPU machen (nur mal um Zahlen zu nennen. Ich weiß, dass Mhz Werte nichts über die Leistungsfähigkeit aussagen), nur wenn man icc benutzt. Das ist doch wohl sehr unrealistisch.


sieh dir den link an. und lies den artikel in linuxjournal issue 106. da steht drin, wie ICC optimiert.
das du dir es nicht vorstellen kannst, heisst nicht, dass es nicht möglich ist.

-j

SeeksTheMoon
16.10.03, 23:46
was den "Rest" angeht, das hat sich erledigt. Das emerge hatte ihn erstmal nicht installiert, sondern nur ausgepackt, aber jetzt gings.

Die c't hat in ihrem Test das Kompilat auch auf Athlon-Prozessoren getestet. Mit welchen Optionen ist das noch kompatibel? Kann ich da Pentium4 nehmen?
MMX, SSE1+2 hat der ja auch

tachibana_guy
18.10.03, 22:00
Das der athlon xp SSE2 hat wär mir neu :)

Soweit ich weiss hat das nur der Athlon 64 und da ist die "SSE2 Einheit" weit weniger schnell als auf p4.

SeeksTheMoon
19.10.03, 09:35
Hab ich bei mir nachträglich draufgelötet :D

Ich hab jetzt mal ein Programm mit dem ICC kompiliert. Auf einem Athlon bringt es im Vergleich zum gcc gar nichts, nur hinter der 3. Nachkommastelle hat man mal eine Zahl Unterschied, was Ausführungs-Zeit angeht.
Das ist dem kleinen Fix von Intel zu verdanken. Da bleib ich lieber beim gcc.
Die Binaries sind übrigens viel fetter als die des gcc, trotz stripping.