Титла: Intel Compiler Tests Публикувано от: vladou в May 28, 2004, 22:35 Няколко дена тука седя и си играя, не че няма с какво друго, но ...
Та имаме следния сорс код:
При компилирне с GCC резултатите са следните : OK, dofp result = 6.000000e+08 real 0m1.037s, user 0m1.040s,sys 0m0.000s При компилиране с Intel C++ компилатор: OK, dofp result = 6.000000e+08 real 0m0.067s,user 0m0.070s,sys 0m0.000s Използванта конфигурация е: Intel Pentium 4 2.8GHz/800MHz FSB/Dual Channel 1GB RAM(количеството няма значение)/някакъв хард диск. GCC: gcc version 3.2, Thread model: posix - SuSE 8.1 Pro. Intel C++ compiler: Intel® C++ Compiler for 32-bit applications, Version 8.0 Build 20031016Z Package ID: l_cc_p_8.0.055 Copyright © 1985-2003 Intel Corporation. All rights reserved. 30 DAY EVALUATION LICENSE Нещо като обобщение: Резултатите говорят сами за себе си. Ако някои има идея за по-добри опимизации при GCC да пише, ще ги тестваме. Титла: Intel Compiler Tests Публикувано от: в May 29, 2004, 00:08 Не че въобще трябва да се отговаря на тази тема но все пак:
Intel Compiler поддържа ix86 (предполагам и IA64) а gcc (само един бърз поглед в/у supported platforms) поддържа над 15 платформи(процесора). Съвсем нормално е да не е толкова продуктивен. Пък и ако от Intel не могат да напишат най-оптимизирания код за своите си процесори ... тогава кой ? Айде със здраве Титла: Intel Compiler Tests Публикувано от: zazzko в May 29, 2004, 00:11 Странно..на моя Duron 750 програмата дава следното:
real 0m1.820s user 0m1.790s Това е не е много повече от твоите времена, сравнимо с честотата на процесора (да не говорим за архитектурата). Това е с gcc 3.3.3. Титла: Intel Compiler Tests Публикувано от: Йордан в May 29, 2004, 12:37 а мислиш ли че само компилатора определя производителноста ...
мисълта ми е че ядрото файловата система и к'во ли още не може да влияе ... според мен не можете така да сравнявате компилаторите ... Титла: Intel Compiler Tests Публикувано от: vladou в May 29, 2004, 14:14
Ами точно в конктретния случай според мен няма никакво значение от по-горе изброените неща, защото тази програма не се влияе тях. Единственото изискване е да нямате натоварване на машината от други процеси, което не е трудно да се осигури. Титла: Intel Compiler Tests Публикувано от: vladou в May 29, 2004, 14:22
Ами да, но този програма пусната на Pentium II 400MHz дава следните резулатати: real 0m0.922s user 0m1.836s sys 0m0.008s На пръв поглед - да ти имам и Дюрона ;-) На втори поглед - очевидно е, че ГЦЦ е спряло да се развива при 486 архитектурата и не използва съвременните архитектури оптимално. Всеки, които има желание може да я изтегли от тук - DOFP Static linked. Гарантирам, че няма висури или етц, но е голяма, защото са статични библиотеките. Ще ми бъде интересно, ако видя повече резуктати тук. В момента с Linux-BG TEAM обсъждаме идеята да се сравни общата производителност на система, компилирана изцяло с този компилатор. Аз работя по компилирането на Kernel 2.4.xx, Samba, Apache Титла: Intel Compiler Tests Публикувано от: vladou в May 29, 2004, 14:26
ами аз съм я сложил темата да се коментира от всеки, който иска ;-)
Искам да дам и едно разяснение ICC е почти 100% съвместим с GCC. Интересното е, че включително и AMD компилират тестовете си с този компилатор /нямат собствен/, за да постигнат по-добри резултати. Титла: Intel Compiler Tests Публикувано от: saturn_vk в May 29, 2004, 14:27 е какви опции си използвал за гцц? -O2 -march=pentium4 -pipe -funroll-loops са доста добри оптимизации, я пробвай да компилираш програмата с тях.
на barton 2500+ Титла: Intel Compiler Tests Публикувано от: vladou в May 29, 2004, 15:17
Добре, ето ги резултатите: real 0m0.187s, user 0m0.190s, sys 0m0.000s Разликата остава повече от 3 пъти. Титла: Intel Compiler Tests Публикувано от: n_antonov в May 29, 2004, 15:27 Ето един Athlon XP 1.7Ghz, 512 cache, SuSE 8.1, gcc version 3.2.2:
real 0m0.703s user 0m0.700s sys 0m0.000s Ето и какво казва интелският компилатор: real 0m0.232s user 0m0.220s sys 0m0.010s Разликата е чувствителна. И още едно сравнение, този път с Intel PIII 750Mhz, 32 cache, Debian Woody, gcc version 3.0.4: real 0m1.630s user 0m1.570s sys 0m0.030s Същата система с интелския компилатор: real 0m0.512s user 0m0.490s sys 0m0.000s Титла: Intel Compiler Tests Публикувано от: kostadinz в May 29, 2004, 16:19 oткъде ги вадите тези работи:
real xxxxxxs user xxxxx sys xxxxxxxxxxxs Титла: Intel Compiler Tests Публикувано от: ray в May 29, 2004, 20:02 Здравейте,
Ето и мойте резултати /GCC/: real 0m1.958s user 0m1.149s sys 0m0.004s CPU: Duron-1100 MHz, GCC-3.3.3 Румен. PS:отчитане време за изпълнение с: time ./a.out Титла: Intel Compiler Tests Публикувано от: Йордан в May 29, 2004, 22:06 a toq intelskiq kompilator kak se kazwa 4e ne6to mai go nqmam
Титла: Intel Compiler Tests Публикувано от: zazzko в May 30, 2004, 00:02
Резултат: real 0m0.601s user 0m0.600s Разликата спрямо старите ми резултати е 3 пъти. И двете са при пуснато KDE. Титла: Intel Compiler Tests Публикувано от: vladou в May 31, 2004, 10:50
Ами за съжаление тои не е фрее. По принцип може да се изтегли от developer.intel.com Титла: Intel Compiler Tests Публикувано от: melwin в May 31, 2004, 10:55
ne znam koe za kakvo govori , no da testvash proizvoditelnost na kompilatori s podobna programa e .. meko kazano neseriozno ! Титла: Intel Compiler Tests Публикувано от: vladou в May 31, 2004, 11:38
Какво мога да ти кажа, млади господине, ако не знаеш, ще го отдадем на възрастта ти, а ако мислиш, че знаеш дай по-добър пример ;-) Титла: Intel Compiler Tests Публикувано от: vladou в May 31, 2004, 11:54 Виждам, че много малко хора са изтеглили програмата компилирана с ICC, за това ще повторя:
Всеки, които има желание може да я изтегли от - www.adsysgroup.com/dofp.bz2. Гарантирам, че няма висури или етц, но е голяма, защото са статични библиотеките. Титла: Intel Compiler Tests Публикувано от: melwin в May 31, 2004, 11:54 v /usr/src/linux go tursi primera !
Титла: Intel Compiler Tests Публикувано от: vladou в May 31, 2004, 12:09
Ами да ;-) Не си далеко от истината. Според теб какъв ще е резултата? Аз вече го знам ;-)) Титла: Intel Compiler Tests Публикувано от: в May 31, 2004, 13:52 Титла: Intel Compiler Tests Публикувано от: zazzko в May 31, 2004, 17:32 Изтеглих я и да ти кажа резултата е много близък до програмата компилирана с gcc. Eто и резултатите:
real 0m0.585s user 0m0.580s Титла: Intel Compiler Tests Публикувано от: vladou в Jun 01, 2004, 10:36
Абе, мен, ти май не си разбрал за какво говорим тука. Аз въобще нямам идея даправя бенчмарк на процесори, а на компилатори! Малко по-късно днес ще ти покажа разликата м/у компилаторите в горепосочените от тебе тестове. Ето и малко резултати само с ICC: -без опции за оптимизиране Loops: 1000000, Iterations: 1, Duration: 132 sec. C Converted Double Precision Whetstones: 757.6 MIPS - с опции за оптимизация -ipo -O2 Loops: 1000000, Iterations: 1, Duration: 15 sec. C Converted Double Precision Whetstones: 6666.7 MIPS - с опции за оптимизация -ipo -O2 -axN -openmp -parallel Loops: 1000000, Iterations: 1, Duration: 4 sec. C Converted Double Precision Whetstones: 25000.0 MIPS Титла: Intel Compiler Tests Публикувано от: Mecho_Puh в Jun 01, 2004, 21:03 Межете ли да ми дадете някакво сравнение с подобна програма между DJGPP и C++Builder
Титла: Intel Compiler Tests Публикувано от: mironcho в Jun 01, 2004, 21:44 При мене разликата е много малка - почти нищожна
![]() Явно ако се компилира с подходящите опции, резултата е почти един и същ:
cccP2 е компилирана така:
машинката ми е celeron на 333 mhz, GCC 3.3.2. Незнам до колко има значение, но gcc -то ми е компилирано за i686. Титла: Intel Compiler Tests Публикувано от: soulcollector в Jun 01, 2004, 22:08 $ gcc -O2 -march=athlon-tbird -mcpu=athlon-tbird -funroll-loops dofp.cpp
$ time ./a.out OK, dofp result = 6.000000e+08 real 0m0.460s user 0m0.460s sys 0m0.000s $ gcc --version gcc (GCC) 3.2.2 CPU Athlon-Thunderbird 950MHz gcc компилирано за i386 Титла: Intel Compiler Tests Публикувано от: в Jun 11, 2004, 19:02 vladou,
icc se spravia otlichno s auto-vectorizaciata, i pri nalichie na SSE2(t.e. P4), e normalno poluchenia kod da e okolo 2 puti po-burz ot tozi na gcc. Eto kakvo stava na moia P4-2.0Ghz(edna ot nai-starite versii na tozi cpu), 512Mb sdram - raboti na 133 Mhz: //-------------------------------------------------- //--icc v8.0--> bez auto-vectorization(t.e. niama da //--polzva SSE2 instr.) $ /opt/intel_cc_80/bin/icc test.c -ipo -O3 $ time ./a.out OK, dofp result = 6.000000e+08 real 0m0.332s user 0m0.280s sys 0m0.002s //---------------------------------------------------- //--icc v8.0--> sus auto-vectorization(dobavih "-axW") $ /opt/intel_cc_80/bin/icc test.c -ipo -O3 -axW $ time ./a.out OK, dofp result = 6.000000e+08 real 0m0.187s user 0m0.097s sys 0m0.003s //--------------------- //----gcc version 3.3.2 $ gcc test.c -O3 -march=pentium4 -fssa-dce -fssa-ccp -fssa -funroll-all-loops $ time ./a.out OK, dofp result = 6.000000e+08 real 0m0.323s user 0m0.269s sys 0m0.001s Vijda se che rezultata, i pri dvata kompilatora e mnogo blizuk(dori e v polza na gcc), PRI polojenie che se polzva samo scalrnia FP unit na P4 processora(t.e. bez SSE2 instr.). Kato dobavia "-axW" ili puk "-xW", icc pokazva blizo 2 puti po-dobur rezultat. Gcc zasega ne pozvoliava auto-vectorizacia... no dokolkoto sum chel, ima hora koito rabotiat po tova. P.S. Otnosno tova dali icc e bezplaten ... Ot site-a na Intel moje da se svali bezplatna versia na icc(samo za linux!! ![]() Титла: Intel Compiler Tests Публикувано от: в Jun 29, 2004, 10:25 Здравейте!
Случайно попаднах на тази статия. Може и на вас да ви бъде интересна. http://www.citforum.ru/programming/C_comp/ |