Не совсем в тему, но по существу )
Цитата:
Многие программисты считают компилятор Intel лучшим оптимизирующим компилятором из имеющихся на рынке, и предпочитают использовать именно его для наиболее требовательных к производительности программ. Кроме того, Intel поставляет много сильно оптимизированных библиотек для различных технических и научных целей. Во многих случаях достойных альтернатив библиотекам Intel не существует.
К сожалению, программы, скомпилированные с помощью компилятора или библиотек Intel, работают значительно хуже на процессорах AMD и VIA. Причина в том, что для программного кода компилятор (или библиотека) может выдать несколько версий машинного кода, каждая из которых оптимизирована для определённого процессора и набора инструкций, например, SSE2, SSE3, и т.д. Система включает в себя функцию, которая определяет, на каком типе процессора она запущена и выбирает самую подходящую версию. Эта функция называется диспетчером процессора. Диспетчер процессора Intel проверяет не только набор инструкций, поддерживаемый процессором, но также идентификатор производителя процессора. Если идентификатор — строка «GenuineIntel», то выбирается наиболее оптимальный вариант кода. Но если процессор не от Intel, то в большинстве случаев будет выбран самый медленный из возможных вариантов, даже если процессор полностью совместим с лучшей версией.
и
Цитата:
AMD неоднократно подавала в суд на Intel за недобросовестную конкуренцию, начиная по крайней мере с 2005 года, и в ноябре 2009 года было достигнуто мировое соглашение. Оно касается многих вопросов недобросовестной конкуренции, видимо, в том числе и компилятора Intel. Приведём цитату из него:
2.3 Технические практики
Intel не имеет права включать какие-либо Искусственные Нарушения Производительности в любые продукты Intel или требовать от какой-либо третьей стороны включать Искусственные Нарушения Производительности в продукт этой третьей стороны. В этом разделе 2.3 «Искусственным Нарушением Производительности» называется позитивное инженерное действие Intel или действие Intel в сфере дизайна (но не бездействие), которое (i) ухудшает производительность или работу Указанного Продукта AMD, (ii) не является следствием Улучшения Продукта Intel и (iii) произведено намеренно с целью ухудшить производительность или работу Указанного Продукта AMD. Для целей настоящего раздела 2.3, «Улучшение Продукта» означает любую выгоду, преимущество или улучшение в плане производительности, эксплуатации, цены, себестоимости, технологичности, надёжности, совместимости или способности работать или улучшать работу другого продукта.
Ни при каких обстоятельствах этот раздел 2.3 не налагает, и не может быть истолкован, как налагающий, на Intel никаких обязательств (i) предпринимать любые действия, которые произведут Улучшение Продукта для какого-либо продукта AMD или третьих сторон, независимо от того, используется ли этот продукт AMD или третьих сторон отдельно или в комбинации с любым другим продуктом, (ii) оптимизировать любые продукты для Указанных Продуктов AMD или (iii) предоставить AMD любую техническую информацию, документы или ноу-хау.
Это похоже на победу AMD. Если мы считаем, что «любой продукт Intel» это компиляторы и библиотеки Intel, «какая-либо третья сторона» это программисты, использующие эти компиляторы и библиотеки, а «искусственные нарушения производительности» это проверка идентификатора производителя диспетчером процессора, то эта договорённость обязывает Intel изменить диспетчер. Я обязательно проверю следующую версию компилятора и библиотек Intel, чтобы увидеть, сделают они это или же найдут лазейку в этом соглашении.
Интересно то, что история на этом не закончилась. Всего через месяц после соглашения между AMD и Intel, Федеральная Торговая Комиссия США (FTC) подала антимонопольную жалобу против Intel. Обвинения в жалобе FTC необычайно сильны:
Intel попыталась подорвать преимущество x86-процессоров других компаний в производительности по сравнению с x86-процессорами Intel, когда она переработала и распространила такие программные продукты, как компиляторы и библиотеки.
[...] [...]
У общественности, OEM-производителей, независимых поставщиков ПО, и тестирующих организаций создалось впечатление, что меньшая производительность процессоров других компаний на приложениях, скомпилированных с использованием продуктов Intel, была вызвана процессором, а не программным обеспечением Intel. Intel не раскрыла последствия изменений, которые она производила в своём программном обеспечении, начиная с или около 2003, своим клиентам и общественности. Intel также распространяла ложную или вводящую в заблуждение документацию о своих компиляторах и библиотеках. Intel заверяла независимых поставщиков ПО, OEM-производителей, тестирующие организации и общественность, что программы изначально работают на процессорах Intel быстрее, чем на процессорах конкурентов. На самом же деле, многие различия обусловлены в основном или полностью программным обеспечением Intel. Вводящие в заблуждение или ложные заявления и умолчания Intel о работе их программного обеспечения учитывались независимыми поставщиками ПО, OEM-производителями, тестирующими организациями и общественностью при приобретении и использовании ими процессоров. Таким образом, заверения корпорации Intel, что программы изначально показывают лучшие результаты на процессорах Intel, чем на процессорах конкурентов были и являются ложными или вводящими в заблуждение. Отказ Intel раскрыть, что эти различия обусловлены главным образом программным обеспечением Intel, учитывая сделанные заверения, было и является мошеннической практикой. Кроме того, эти искажения и упущения могли нанести вред репутации других производителей x86-процессоров, и нанесли вред конкуренции.
[...] [...]
Некоторые независимые поставщики ПО запрашивали у Intel информацию относительно видимого различия в быстродействии одинаковых программ при запуске на процессорах Intel и других компаний. В ответ на такие просьбы, неоднократно, Intel представляла в ложном свете, прямо или косвенно, источник этой проблемы и возможность её разрешения.
[...] [...]
Изменения программного обеспечения Intel замедлило быстродействие x86-процессоров других производителей без всякой достаточно оправданной технологической выгоды. Обманчивое поведение Intel лишило потребителей возможности осознанного выбора между чипами Intel и конкурентов, а также между программным обеспечением Intel Software и конкурентов, и привело к повышению стоимости конкуренции на соответствующих рынках процессоров. Потери производительности из-за компилятора и библиотек Intel также причинили непосредственный вред тем потребителям, которые использовали x86-процессоры других компаний, кроме Intel.