Article View: pl.comp.os.linux.programowanie
Article #72553Re: gcc i icc
From: Edek Pienkowski
Date: Sat, 29 Sep 2012 18:15
Date: Sat, 29 Sep 2012 18:15
51 lines
3471 bytes
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-mailReferences:
<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