Подтвердить что ты не робот

С++ 0x оптимизация качества компилятора

Я делаю тяжелую цифру, и для меня очень важна производительность с плавающей запятой. Мне нравится производительность компилятора Intel очень и очень довольна качеством сборки, которую он производит.

В какой-то момент я думаю попробовать С++ 0x главным образом для сахара, например, auto, список инициализаторов и т.д., но также lambdas. в этот момент я использую эти функции в регулярном С++ с помощью boost.

Насколько хорош код сборки для компиляторов С++ 0x? в частности, компиляторы Intel и gcc. Производят ли они код SSE? производительность сопоставима с С++? есть ли тесты?

Мой поиск в Google не показал много.

Спасибо.

ps: в какой-то момент я сам буду тестировать, но хотел бы знать, чего ожидать от С++.

4b9b3361

Ответ 1

Вы можете рассчитывать на ту же оптимизацию для своего кода, потому что компилятор, конечно, не стал хуже при оптимизации. Таким образом, только использование новых функций С++ 0x может повлиять на это. Но я сомневаюсь, что ваши основные процедуры внезапно полностью изменились, чтобы каким-то образом использовать возможности С++ 0x.

Имейте в виду такие вещи, как auto и лямбда - это просто синтаксический сахар. Это не повлияет на оптимизацию компилятора, потому что это всего лишь методы генерации того же кода, что и вы. Поэтому вам нужно только беспокоиться о новых "материалах", таких как списки инициализаторов. Но я был бы удивлен, если бы это было неэффективно.

Вы также должны ожидать много улучшений из-за перемещения-семантики. Вам больше не нужно копировать данные, а просто перемещать их. Создайте свой код, чтобы воспользоваться этим для большей пользы.