Кстати, метод прогонки - далеко не самый удачный пример для тестирования векторизующего компилятора - там же каждая итерация цикла жестко зависит от предыдущих. Да и деление в цикле жрет неслабо.
>В настоящих числодробилках, а не поделках красноглазых студентов. :)
Открою страшный секрет ;) сейчас старые RISC-и выбрасывают на помойку а на их место профессора ставят именно "поделках красноглазых студентов" в виде x86+Linux - потому как основным показателем сейчас является такое понятие как "бюджет" а решний "под ключ" народ накушался по самые немогу - вон у меня толпа маков 92-93 года стоит сданных вместе со зданием. До сих пор списать никак не могут ;) такие тут местные правила ;) народ либо ходит на работу с ноутами либо притаскивает из дома свою технику для работы ;))) кстати сетка тоже делалась вместе со зданием (тонкий коаксиал вделана прямо в стены ;) и хрен поменяешь ;) (пока официальный срок эксплуатации не кончится ;))
Это все очень хорошо. Вопрос тогда такой - если у меня одна программа
собрана с чудным распараллеливанием, а вся операционка - нет и у меня
помимо этой программы работает что-то еще (мы же в многозадачной системе :) - насколько сильно мне поможет чудесный icc?
Тут важно не то, что именно icc собирается, а то, что не-gcc собирается. Мне кажется, это довольно существенный признак переносимости кода. Думаю, с Linux работы понадобилось бы существенно больше, чтобы собрать чем-то, отличным от gcc (хотя это, полагаю, возможно). И главное тут -- как можно больше локализовать код, зависимый от компилятора. Чтобы в перспективе можно было и Compaq C compiler собирать на альфах, и workshop'ом на спарках..
Я сегодня в универе сравнивал качество оптимизации MS VC++ 6 (знаю что он старый, но новее под рукой не было) и MinGW (gcc-3.2.3) на том тесте, который прислал sS (спасибо!). Тестировалось на слабеньком втором пне.
В результате лучшее время (из 3-х запусков) показал код сгенерированный gcc - 23.13 сек. Код сгенерированный MS VC++ 6 выполнялся целых 32.41 с.
Народ, а расскажите правду - в чем там вообще подноготная дела? Как следует из дискуссии, сторонники gcc пытаюстя уличить icc в каких-то мелких грехах - дык вопрос - зачем это нужно, какая цель? Разве плохо если будет два нормальных компилера?