Microedition Что значит в нём есть? У Intel'a много хороших библиотек, в том числе Math Kernel Library, но они не привязаны в компилеру. 1nsidE Имеется ввиду векторизация вычислений или реальное распараллеливание? Если первое, то MSVC++ умеет. Если второе, то в каком режиме? В автоматическом что ли? MSVC++, как и ICC++, поддерживают OpenMP, где распараллеливание сложных вычислений производится доп. 1-3 строками. С этим проблем не вижу.
По поводу Intel MKL и VS: http://software.intel.com/en-us/articles/integrating-a-microsoft-visual-studio-ide-project-with-intel-mkl/
W4FhLF Упс,неккоректно написал,OpenMP имел ввиду тоже,нужно было написать 'больше возможностей для параллельных вычисленний',MS -овский компилер поддерживает только OpenMP 2.0( хотя про VS2010 не знаю ) а Intel -овкий OpenMP 3.0,да и сама Intel пишет High Performance Parallel Optimizer (HPO) offers an improved ability to analyze, optimize, and parallelize more loop nests. This revolutionary capability combines vectorization, parallelization, and loop transformations into a single pass which is faster, more effective, and more reliable than prior discrete phases. Multithreaded Application Support OpenMP and auto-parallelization allow you to take full advantage of multicore technology, including the latest Intel® multicore processors. плюс всякие распараллененые бибилиотеки,типа MKL вот что я имел ввиду
Это да, согласен. Хотя лично мне пока 2.0 хватает. Я же говорю Math Kernel Library поддерживается и MSVC++ тоже. И не только она, а так же Intel Threading Building Blocks и Intel Integrated Performance Primitives. Насчёт других библиотек не знаю, ибо просто не сталкивался.
согласен что без тестов это просто,слова,но если посмотреть на сгенеренный код то этот компилятор имеет много прикольных фич,которые отчасти соответствуют тому что написано. P.S. А ты случайно не знаеш реальных тестов,а то я нарыл толька эпохи динозавров.
Intel::Intel C++ Compiler for Linux is substantially standards compliant, and includes compatibility with GCC and the GNU* tool chain. Вики:К недостаткам компилятора можно отнести несовместимость с компилятором GCC, что может вызвать проблемы при компиляции некоторых программ. Кому же из них верить?
Адреса API при циклическом вызове заносились в регистры очень давно (VC++ 6.0 если память не изменяет).
Попробовал поставить Intel C plus plus Compiler PE 11.1.054 с установленным Microsoft Visual C++ 2008 Express Edition и потерпел неудачу со следующим сообщением инстоллятора: Подскажите пожалуйста у меня не тот процессор? В release notes есть строки: Процессор у меня AMD Athlon XP 1833 (2500+) (Barton) с поддержкой наборов инструкций MMX, 3Dnow!, SSE. Всё?! Конец? Да?
Dukales Нет, не конец. Для некоторых версий был патч, откусываюций эту проверку. Для новых - не знаю. В конце-концов, здесь хакеры или не хакеры?
Dukales 9-я версия поддерживала P-III и Атлон ХП. Возможно и 10-я. Сейчас это железо почти ничего не стоит, нафига его поддерживать в новых версиях, если использование SSE2 ускоряет компиляцию, например.
я точно помню, что интеловский компилер версии 7 делал бинарники значительно лучше чем компилер VS 6.0
NeuronViking не сомневаюсь что под интеловский проц интеловский компилятор соберет лучший код, но код от MS компилера не сильно уступит, причем будет одинаково хорошо работать под Интел и АМД процы
Asterix я не сравниваю вообще, в среднем, а только лишь помню свой конкретный опыт. я тогда занимался обработкой и сжатием графики и разница в скорости была очень ощутимая. интеловский компилер с правильными опциями делал чудеса =)
Там не на то патч. Интеловская RTL при старте проверяет наличие расширений (SSE, SSE2, ...) и устанавливает соответствующие флаги чтобы потом разные ветки кода использовать. И при проверке расширений проверяет имя процессора - если не GenuineIntel, то ничего больше не проверяет и считает что у тебя i386. Т.е. для процессоров AMD даже при наличии SSE он использоваться не будет. Что как бы не очень честно Потому проверку имени CPU обычно в либах и патчат (где-то готовые патчи валялись). У Intel C++ есть как минимум одна фича, которой больше нигде нет. Ключами можно задать генерацию нескольких веток кода (к примеру для Core2Duo и i386). Т.е. для одной и той же функции компилятор сгенерирует два варианта - один для i386 без расширений, второй для Core2Duo со всякими MMX, SSE и т.д. И какую ветку исполнять решается в рантайме по флагам доступных расширений, установленным при старте RTL. Бинарник получается больше в размере, но при этом работает как на i386, так и на Core2Duo - при этом на последнем использует все возможности по максимуму. И векторизатор в нём лучше чем в студии. А в остальном сравнивать надо - всё-таки оба в тройку лучших входят вместе с GCC (IMHO).