СтОит ли использовать Intel C++ Compiler? Есть ли у него преимущества над другими (производительность на всех платформах, размер, скорост компиляция и т.д.)? Или лучше остаться с gcc/mingw?
» Intel C++ Compiler
на linux.org.ru периодически (точнее после выхода каждой новой major версии) вспыхивают holy wars по этому поводу - почитай в архивах, там много чего интересного есть
из практики же могу сказать следующее - компилит оно медленнее, но качество кода при внимательном препарировании в IDA Pro - значительно выше не только gcc/linux, но и VC++6/Win32
На мат. задачах (всякие переборщики, обработка графов etc) - производительность возрастает на 20-40%, что для числодробилок - весьма важно (или твоя прога считать будет 20 часов vs 15 - разница большая, согласись)
По сравнению с gcc есть опять же тонкие отличия в понимании стандарта C++, отсутствуют всякие gcc specfic штуки - так что kernel тебе вряд ли удастся на Intel C++ пересобрать
Про размер - а нафига оно ? Щас вроде никто на asm не кодит почти и на размер обычно всем наплевать
Ну вот вроде и все
из практики же могу сказать следующее - компилит оно медленнее, но качество кода при внимательном препарировании в IDA Pro - значительно выше не только gcc/linux, но и VC++6/Win32
На мат. задачах (всякие переборщики, обработка графов etc) - производительность возрастает на 20-40%, что для числодробилок - весьма важно (или твоя прога считать будет 20 часов vs 15 - разница большая, согласись)
По сравнению с gcc есть опять же тонкие отличия в понимании стандарта C++, отсутствуют всякие gcc specfic штуки - так что kernel тебе вряд ли удастся на Intel C++ пересобрать
Про размер - а нафига оно ? Щас вроде никто на asm не кодит почти и на размер обычно всем наплевать
Ну вот вроде и все
redp
Tnx, буду знать.
Tnx, буду знать.
Я слышал Intel-овский компилер могет автоматически оптимизировать код с наборами инструкций SSE, MMX, 3DNOW!
Ето правда?
Ето правда?
Labotras
Да, может (кроме 3dnow!).
Да, может (кроме 3dnow!).
Перцы из Intel выпустили новую версию Intel C++ Compiler For Windows 8.1.024 / Linux 8.1.021 ! Компилятор отличается полной совместимостью с компилятором GNU C на уровне исходных текстов, объектного и двоичного кода. Кроме того, компилятор Intel соответствует стандарту C++ ABI. И, как обычно, супер-оптимизация кода !
redp
но качество кода при внимательном препарировании в IDA Pro - значительно выше не только gcc/linux, но и VC++6/Win32
можешь привести примеры? и ссылки на священные войны
но качество кода при внимательном препарировании в IDA Pro - значительно выше не только gcc/linux, но и VC++6/Win32
можешь привести примеры? и ссылки на священные войны
и как качество кода по сравнению с VC++ 7? (VC 2002 .NET)
В целом, с точки зрения скорости - выше, проблема с интеловскими компиляторами - значительное кол-во довольно серьёзных глюков, хотя последнее время это пошло на поправку.
vito333
У Интела лучше, чем даже NET 2005 last beta.
Но Микрософт не сильно переживает.
У Интела лучше, чем даже NET 2005 last beta.
Но Микрософт не сильно переживает.
OldGopher
хрен с ним с мс, я для себя интересуюсь - деталей бы
хрен с ним с мс, я для себя интересуюсь - деталей бы
vito333
При асемблировании С++ файлов в режимах предельной оптимизации генерится такой код, что черт ногу сломит.
Интел, ясен пень, толкает про сколько-то там процентный выигрыш в скорости, но проверить это не так-то легко. Один хрен - надо компилировать критичный код двумя компиляторами и сравнивать скорость или процент загрузки...
Интелловский компилятор весьма удобно встраивается в оболочку Микрософта. Хотя я бы предпочел более простое переключение ответственного компилятора.
При асемблировании С++ файлов в режимах предельной оптимизации генерится такой код, что черт ногу сломит.
Интел, ясен пень, толкает про сколько-то там процентный выигрыш в скорости, но проверить это не так-то легко. Один хрен - надо компилировать критичный код двумя компиляторами и сравнивать скорость или процент загрузки...
Интелловский компилятор весьма удобно встраивается в оболочку Микрософта. Хотя я бы предпочел более простое переключение ответственного компилятора.
Я как-то ради интереса тестировал на довольно большой и "интенсивной" библиотеке Crypto++. Там есть бенчмарк производительности разных алгоритмов.
Пробовал компилеры Intel/8.0 и MS/2003. Все оптимизации включены, SSE2 и т.п.
Никакого заметного преимущества того или иного компилера не было - в некоторых алгоритмах побеждал один, в других - другой.
Подробного анализа не делал, но глянув на количество исправляемых багов в интеловском компиляторе, связанных с генерацией кода, решил для себя, что надежность пожалуй важнее.
Пробовал компилеры Intel/8.0 и MS/2003. Все оптимизации включены, SSE2 и т.п.
Никакого заметного преимущества того или иного компилера не было - в некоторых алгоритмах побеждал один, в других - другой.
Подробного анализа не делал, но глянув на количество исправляемых багов в интеловском компиляторе, связанных с генерацией кода, решил для себя, что надежность пожалуй важнее.
да еще если учесть, что оптимизированную Intel C++ прогу могут запустить на AMD, то наверное как обычно, к выбору компайлера или переходу на Intel C++ надо подходить с умом
Скачал Intel C++ Compiler с _ftp://download.intel.com/software/products/compilers/downloads/w_ccx_pu_8.1.024.exe_. Размер 125684762 б. Файл оказался битым.
С помощью утилиты zidrav (_http://jaist.dl.sourceforge.net/sourceforge/zidrav/zidrav-3.5-bin.tar.gz, размер 42.601) и Checksum File, который я сделал с её помощью (размер 30710 б), можно изготовить Patch-file для ремонта моего битого w_ccx_pu_8.1.024.exe.
У кого есть нормальный w_ccx_pu_8.1.024.exe просьба обратиться в ПМ.
Не дайте умереть без компилятора. Заранее спасибо.
С помощью утилиты zidrav (_http://jaist.dl.sourceforge.net/sourceforge/zidrav/zidrav-3.5-bin.tar.gz, размер 42.601) и Checksum File, который я сделал с её помощью (размер 30710 б), можно изготовить Patch-file для ремонта моего битого w_ccx_pu_8.1.024.exe.
У кого есть нормальный w_ccx_pu_8.1.024.exe просьба обратиться в ПМ.
Не дайте умереть без компилятора. Заранее спасибо.
Цитата:
Интелловский компилятор весьма удобно встраивается в оболочку Микрософта. Хотя я бы предпочел более простое переключение ответственного компилятора.
Пожалуста поподробней об этом (о встраивании).
Спасибо.
Просто он вставляется как один из компиляторов поддерживаемых MS Visual Studio. Чтобы использовать компилятор надо либо создать проект указав соотв. компилятор, либо можно текуший VC проект конвертнуть в IntelC проект (всё что я делал конвертилось без особых проблем).
almuk
встраивается сам, при установке опцию укажешь - и все.
А потом ты его сам увидишь .
встраивается сам, при установке опцию укажешь - и все.
А потом ты его сам увидишь .
Скачать и посмотреть - по другому не посоветуешь.
Из вкусностей:
HLO (High Level Optimization) - работа на уровне языка С; перераспределение обращений к памяти и переупорядочивание операторов языка;
IPO\IP (Interprocedural Optimization) - межпроцедурная (уровень процедур C) и межобъектная (.obj | .a) оптимизация
PGOPTY (Profile Guide Optimization) - двухпроходное компилирование с промежуточным профилированием.
Автоматическая векторизация (на -O3) - подключаются SSE, автоматический loop unroll.
vito333
Бинарно AMD и Intel свместимы, сами AMD-шники выставляют спеки собранные на ICC.
FuzzyLogic
8.1 хорош... Ждем выхода 9.0. 8.0 - глюкав де-факто.
almuk
Интегрируется в MS Visual Studio. Смена компилятора (MS Intel) - двумя щелчками мыши.
Из вкусностей:
HLO (High Level Optimization) - работа на уровне языка С; перераспределение обращений к памяти и переупорядочивание операторов языка;
IPO\IP (Interprocedural Optimization) - межпроцедурная (уровень процедур C) и межобъектная (.obj | .a) оптимизация
PGOPTY (Profile Guide Optimization) - двухпроходное компилирование с промежуточным профилированием.
Автоматическая векторизация (на -O3) - подключаются SSE, автоматический loop unroll.
vito333
Бинарно AMD и Intel свместимы, сами AMD-шники выставляют спеки собранные на ICC.
FuzzyLogic
8.1 хорош... Ждем выхода 9.0. 8.0 - глюкав де-факто.
almuk
Интегрируется в MS Visual Studio. Смена компилятора (MS Intel) - двумя щелчками мыши.
Key_Altos
Цитата:
К сожалению дуалом его не скачаешь - 125 метров!
А есть ли что-нибудь для начинающих под винду
Цитата:
Перцы из Intel выпустили новую версию Intel C++ Compiler For Windows 8.1.024
К сожалению дуалом его не скачаешь - 125 метров!
А есть ли что-нибудь для начинающих под винду
crazy fenix
Цитата:
Именно интел?
Если нет и нужен только компилятор, то бери MinGW http://www.mingw.org/download.shtml
или Борланд http://www.borland.com/products/downloads/download_cbuilder.html (зарегистрироваться надо).
Цитата:
А есть ли что-нибудь для начинающих под винду
Именно интел?
Если нет и нужен только компилятор, то бери MinGW http://www.mingw.org/download.shtml
или Борланд http://www.borland.com/products/downloads/download_cbuilder.html (зарегистрироваться надо).
crazy fenix
Цитата:
Если, как сказал KADABRA, нужен только компайлер (т.е. без IDE с умным редактором, встроенным "умным" дебаггером, хитрым project management, итд), то кроме того что он перечислил есть еще Microsoft Visual C++ Toolkit 2003 (~32MB). Он включает в себя неплохой оптимизирующий компайлер (фактически тот же самый что идет с VC7.1), линкер, библиотеки (стандартные библиотеки C и C++ вкл. STL), и даже мерзкий .NET CLR (какого черта?!?), т.е. почти все что нужно. При этом, он бесплатен и идет с довольно божеской лицензией (т.е. можно потом софтину даже продавать - впрочем за деталями стоит залезть в лицензию). Кроме того, он ставится с намного меньшей головной болью чем MinGW, а по количеству багов я думаю он с BCC 5.5 (Borland) примерно на одном уровне. (Хотя лично мне BCC 5.5 quirks и баги мешают больше).
Есть бесплатный компайлер Digital Mars (несколько мегов, зависит от комплектации), тоже идет практически совсем "голым", весьма положителен в плане стандарта C++, но тоже слегка багованый (во всяком случае когда я в послений раз проверял).
Ну и если нужна среда, то есть штучки вроде Bloodshed Dev-C++ (~7-15МБ в зависимости от версии и комплектации) - полный IDE который идет с MinGW (т.е. GCC) в качестве компайлера. На любителя , зато бесплатен, FOSS, и все в одном.
Кроме того, если ностальгия задавит, есть DJGPP. Это набор инструментов под DOS вкл. компайлер (опять порт GCC). Подобрать комплектацию по вкусу можно здесь, в среднем может вылиться в около ~17МБ, но при таком наборе там даже простенький IDE будет (RHIDE - что-то по внешнему виду напоминающее Turbo C/C++ под DOS).
В плане оптимизаций под x86 вообще и под P4 в частности - ICC (Intel) конечно всех их подомнет, но я думаю что начинающему программеру это не столь важно (по сравнению с человеческой поддержкой C/C++, например).
А вообще, можешь заглянуть сюда или на аналогичные странички, там есть нехилые списки вещей которые можно достать бесплатно.
Цитата:
А есть ли что-нибудь для начинающих под винду
Если, как сказал KADABRA, нужен только компайлер (т.е. без IDE с умным редактором, встроенным "умным" дебаггером, хитрым project management, итд), то кроме того что он перечислил есть еще Microsoft Visual C++ Toolkit 2003 (~32MB). Он включает в себя неплохой оптимизирующий компайлер (фактически тот же самый что идет с VC7.1), линкер, библиотеки (стандартные библиотеки C и C++ вкл. STL), и даже мерзкий .NET CLR (какого черта?!?), т.е. почти все что нужно. При этом, он бесплатен и идет с довольно божеской лицензией (т.е. можно потом софтину даже продавать - впрочем за деталями стоит залезть в лицензию). Кроме того, он ставится с намного меньшей головной болью чем MinGW, а по количеству багов я думаю он с BCC 5.5 (Borland) примерно на одном уровне. (Хотя лично мне BCC 5.5 quirks и баги мешают больше).
Есть бесплатный компайлер Digital Mars (несколько мегов, зависит от комплектации), тоже идет практически совсем "голым", весьма положителен в плане стандарта C++, но тоже слегка багованый (во всяком случае когда я в послений раз проверял).
Ну и если нужна среда, то есть штучки вроде Bloodshed Dev-C++ (~7-15МБ в зависимости от версии и комплектации) - полный IDE который идет с MinGW (т.е. GCC) в качестве компайлера. На любителя , зато бесплатен, FOSS, и все в одном.
Кроме того, если ностальгия задавит, есть DJGPP. Это набор инструментов под DOS вкл. компайлер (опять порт GCC). Подобрать комплектацию по вкусу можно здесь, в среднем может вылиться в около ~17МБ, но при таком наборе там даже простенький IDE будет (RHIDE - что-то по внешнему виду напоминающее Turbo C/C++ под DOS).
В плане оптимизаций под x86 вообще и под P4 в частности - ICC (Intel) конечно всех их подомнет, но я думаю что начинающему программеру это не столь важно (по сравнению с человеческой поддержкой C/C++, например).
А вообще, можешь заглянуть сюда или на аналогичные странички, там есть нехилые списки вещей которые можно достать бесплатно.
Prizrak7
+ http://www.rsdn.ru/article/devtools/devtools.xml поподробнее.
+ http://www.rsdn.ru/article/devtools/devtools.xml поподробнее.
Prizrak7
KADABRA
Senks!
Пока просто попробую разобраться со всем этим!
KADABRA
Senks!
Пока просто попробую разобраться со всем этим!
а с каких пор размер long double в интеловском компиляторе под ia32/64 стал равен 16 байт???
Ребята. Такой вопрос - у Intel C++ Compiler своя встроенная библиотека или он берет какую-то другую?
Просто размер у него здоровый, а по поводу библиотек ничего не известно...
Просто размер у него здоровый, а по поводу библиотек ничего не известно...
Dpak0n4ik
Цитата:
Какая библиотека???
Цитата:
у Intel C++ Compiler своя встроенная библиотека или он берет какую-то другую?
Какая библиотека???
да хотя бы STL
Интересно - если ставить компилятор на голую винду без студии - можно сразу писать и отлаживать программы?
Иил всеже придеться ставить доп. софт?
Интересно - если ставить компилятор на голую винду без студии - можно сразу писать и отлаживать программы?
Иил всеже придеться ставить доп. софт?
Dpak0n4ik
Да естественно STL в нём есть.
Компилировать можно будет сразу, а вот на счёт дебаггера я не знаю.
Да естественно STL в нём есть.
Компилировать можно будет сразу, а вот на счёт дебаггера я не знаю.
А вот у меня вопрос по скорости работы генерируемого кода...
Есть библиотека openssl-0.9.8
Есть компилер интелц++ 9.0.024 (х86 и х86-ЕМТ64) и есть вижуал студия 2003 сп1 на платформе х86 и на платформе амд64
Так вот, было сгенерячено (набилдено втупую с разными ключами компилеров) около 20 вариантов.
Вы будете смеяться, но микрософтный компилер оказался абсолютным лидером (хеширование мд5, sha1 и кодирование aes) в скорости сгенеренного кода как на платформе х86, так и на платформах амд64 и х86-ЕМТ64!!!
Сама задача - тупая - молотилка чисел. Но факт остается фактом: даже на 64-разрядной платформе микрософтный код быстрее. Могу это объяснить только оптимизацией openssl под микрософтный компилер...
Есть мнения и предложения, как сгенерить интеловым компилером под интеловую платформу код быстрее, чем тот, который генерится микрософтным компилером?
Есть библиотека openssl-0.9.8
Есть компилер интелц++ 9.0.024 (х86 и х86-ЕМТ64) и есть вижуал студия 2003 сп1 на платформе х86 и на платформе амд64
Так вот, было сгенерячено (набилдено втупую с разными ключами компилеров) около 20 вариантов.
Вы будете смеяться, но микрософтный компилер оказался абсолютным лидером (хеширование мд5, sha1 и кодирование aes) в скорости сгенеренного кода как на платформе х86, так и на платформах амд64 и х86-ЕМТ64!!!
Сама задача - тупая - молотилка чисел. Но факт остается фактом: даже на 64-разрядной платформе микрософтный код быстрее. Могу это объяснить только оптимизацией openssl под микрософтный компилер...
Есть мнения и предложения, как сгенерить интеловым компилером под интеловую платформу код быстрее, чем тот, который генерится микрософтным компилером?
Предыдущая тема: Убрать фон с фотографии
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.