Компилируем с оглядкой

5 январь, 2010 - 16:56Андрей Дегелер

Прочитал сегодня любопытную историю, опять про Intel и «антиконкурентные» бизнес-практики. Собственно, об этом вскользь упоминается в соответствующей новости, но подробности я узнал только сейчас. В этот раз речь идет не об эксклюзивных сделках и подавлении соперничающих компаний, а о компиляторе C++, разработанном Intel и считающемся одним из наиболее продвинутых.

В общем, несмотря на то, что многие разработчики думали, что данный компилятор работает с процессорами VIA и AMD так же хорошо, как и с «родными» чипами, это оказалось совсем не так. Более того, в ходе небольшого расследования, которое опубликовал в своем блоге Агнер Фог, выяснилось, что компилятор в ходе работы проверяет не только набор инструкций, поддерживаемый процессором, но и его производителя. При обнаружении в соответствующем поле значения GenuineIntel компилятор выдает оптимальный код, при любом другом значении начинаются проблемы — вне зависимости от реальных возможностей CPU.

Федеральная торговая комиссия США в своем «манифесте» (PDF, 24 страницы обвинений!) требует от Intel бесплатно предоставить всем заказчикам компилятора его новую версию, должным образом работающую со всеми типами CPU, компенсировать расходы от использования старой версии и уведомить всех заинтересованных лиц о «дефектах».

Подождем сентября и увидим, что Intel скажет в своё оправдание.