🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72553

Re: gcc i icc

#72553
From: Edek Pienkowski
Date: Sat, 29 Sep 2012 18:15
51 lines
3471 bytes
Dnia Sat, 29 Sep 2012 19:22:31 +0200, Adam Majewski napisal:

> On 29.09.2012 18:25, Edek Pienkowski wrote:
>> Dnia Sat, 29 Sep 2012 16:52:00 +0200, Adam Majewski napisal:
>>
>>> On 29.09.2012 15:11, Edek Pienkowski wrote:
>>>> Dnia Sat, 29 Sep 2012 12:21:56 +0200, Adam Majewski napisal:
>>>>
>>>>> Witam.
>>>>>
>>>>> W książce :Programowanie w Linuksie. Ćwiczenia
>>>>> Autorzy: Katarzyna Kuźniar, Kazimierz Lal, Tomasz Rak
>>>>> Data wydania: 2012/07
>>>>> http://helion.pl/ksiazki/programowanie-w-linuksie-cwiczenia-katarzyna-kuzniar-kazimierz-lal-tomasz-rak,cwplin.htm
>>>>>
>>>>> jest porównanie czsu wykonania programu mnożącego macierze dwuwymiarowe.
>>>>> Można pobrać przykładowy rozdział w pdf i tam jest ten przykład.
>>>>> Dla gcc czas = 1345 ms
>>>>> dla icc czas =  109 ms
[...]
>>> Czy to znaczy że jest to jednostkowy przypadek a ogólnei wyniki powinny
>>> być porównywalne ?
>>
>> Nie rozumiem. Co jest napisane w tej książce?
>>
> W książce jest : "rodzaj użytego kompilatora ma duze znaczenie."
> Nie rozwijają tego.
> Czy można powiedzieć że średni czas wykonywania programu po kompilacji z 
> użyciem icc jest znacząco krótszy niż po użyciu gcc ? ( na procesorach 
> intela )

Kompilator Intela stosowany do kodu na Intele (nie AMD) prawdopodobnie
jest faktycznie najlepszy - musiałbyś poszukać benchmarków (SPEC lub inne).
Średnio, cokolwiek to znaczy, może być z 1% czy może 3% lepszy od gcc.
Zazwyczaj nie ma to większego...

Jeżeli masz konkretny kod, gdzie w optymalizację wkłada się b.dużo 
wysiłku różnice mogą być większe, tak około 10% i lepiej, ale to nigdy nie 
wiadomo w którą stronę i trzeba porównywać konkretne wersje kompilatorów
i wiedzieć, jakich opcji się używa, i na jakim procesorze się 
to uruchamia, głównie pod względem zestawu instrukcji. Większość
linuksów używa zestawu instrukcji najniższego wspólnego mianownika -
poza wyspecjalizowanym kodem, czyli multimediami, memcpy itp.

No i są takie skrajne przykłady, tylko że jeden skrajny przykład nic 
nie znaczy, trzeba mieć wiedzę o dużej ich liczbie, bo nie będą wszystkie
w tę samą stronę. Twórcy kompilatorów liczą każdy procent, ale przyjmują
10% jako zmianę jakościową - inaczej użyszkodnik nie zauważy.

-- 
Edek
Technical Details
Message-ID: <k47ds0$lqm$1@mx1.internetia.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.supermedia.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
References: <k46i43$pte$1@news.dialog.net.pl> <k46s24$dha$1@mx1.internetia.pl> <k471ud$1np$1@news.dialog.net.pl> <k477dq$3mh$1@mx1.internetia.pl> <k47aok$5nd$1@news.dialog.net.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.supermedia.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
From: Edek Pienkowski <edek.pienkowski@gmail.com>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: gcc i icc
Date: Sat, 29 Sep 2012 18:15:28 +0000 (UTC)
Organization: Netia S.A.
Lines: 51
Message-ID: <k47ds0$lqm$1@mx1.internetia.pl>
References: <k46i43$pte$1@news.dialog.net.pl> <k46s24$dha$1@mx1.internetia.pl> <k471ud$1np$1@news.dialog.net.pl> <k477dq$3mh$1@mx1.internetia.pl> <k47aok$5nd$1@news.dialog.net.pl>
NNTP-Posting-Host: as4-251.poleczki.dialup.inetia.pl
Mime-Version: 1.0
X-Trace: mx1.internetia.pl 1348942528 22358 195.114.165.251 (29 Sep 2012 18:15:28 GMT)
X-Complaints-To: abuse@inetia.pl
NNTP-Posting-Date: Sat, 29 Sep 2012 18:15:28 +0000 (UTC)
X-Tech-Contact: usenet@internetia.pl
User-Agent: Pan/0.135 (Tomorrow I'll Wake Up and Scald Myself with Tea; GIT 30dc37b master)
X-Server-Info: http://www.internetia.pl/
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit