Производительность компиляторов С++ - тесты RSDN.
Попалась на глаза интересная статья про измерения эффективности компиляторов С++, думаю знатокам сего будет интересна, если они не читали :).
Просто как заметка, хочу напомнить критерий Вирта по оптимизации компиляторов:
компилятор с оптимизацией должен компилировать свой исходный код быстрее, чем компилятор без оптимизации свой.
Просто как заметка, хочу напомнить критерий Вирта по оптимизации компиляторов:
компилятор с оптимизацией должен компилировать свой исходный код быстрее, чем компилятор без оптимизации свой.
Скорее, это должен делать компилятор, скомпилированный компилятором с оптимизацией. Мне пофиг, что релиз компилируется три часа, если полученный исполняемый код того стоит.
А как же unit testing? TDD ? Рефакторинг?
Эти вещи требуют быстрой компиляции.
Такие решения ( O(n^3) -> O(n) ) находятся головой, а не компилятором. :)
А для тестирования на ошибки оптимизация, в подавляющем случае, не существенна, на мой взлгяд. Иными словами, при отладке можно обойтись и без неё (кроме игрушек и иных высокопроизводительных интерактивных приложений. Впрочем, даже в подобном случае, время, требуемое на подготовку релиза, обычно, не является столь коротким).
Я говорил не про отладку, а про модульное тестирование и методы разработки через тестирование.
Хотя согласен, что для TDD и рефакторинга оптимизацию можно отключить.
Но вот для модульного тестирования и др. видов автоматического тестирования оптимизацию отключать не стоит, но при этом тесты должны собираться и выполняться довольно часто (от раз в несколько десятков минут, до раза в сутки).
Наверное, нужно уточнить, что тот и другой компилятор должны быть одинаково функциональными при этом (что подразумевает, что компилируют один и тот же язык).