Создает ли лучший / более новый компилятор C или C++ более производительный скомпилированный код? Или они просто работают быстрее / лучше при компиляции?

Я сам не программист на C или C++, но я часто использую программное обеспечение, которое необходимо скомпилировать или зависит от компилятора, например, некоторые пакеты R.

Будет ли это программное обеспечение работать лучше, если я использую более новый / лучший компилятор? Например, сейчас я использую системную версию Clang для Mac OS X, и было предложено использовать более позднюю версию. Это всего лишь предложение сэкономить мне время и память во время компиляции? Или это будет на самом деле производить более эффективное скомпилированное программное обеспечение?

1 ответ

Будет ли это программное обеспечение работать лучше, если я использую более новый / лучший компилятор?

Это полностью зависит от того, была ли выполнена работа с функцией оптимизации кода компилятора в данном выпуске.

Например, сейчас я использую системную версию Clang для Mac OS X, и было предложено использовать более позднюю версию.

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

Это всего лишь предложение сэкономить мне время и память во время компиляции?

Честно говоря, предложение на 100% основано на мнении. Если вы доверяете человеку, предоставившему это предложение, вы должны принять его.

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

Другие вопросы по тегам