[ithappens] Опрометчивая компиляция

« картинки и свежие анекдоты | чат

[ithappens] Опрометчивая компиляция

Взято отсюда

Сильно понравилось

Начну издалека. Есть такая модель вычислений: demand-driven computation. В ней считается только то, что нужно посчитать. А еще есть common subexpression elimination — это такая техника оптимизации в компиляторах. Проще всего объяснить на примере: из sqrt(2) в пяти местах компилятор один раз сделает double s2 = sqrt(2), после чего везде будет использовать s2. Это можно усугубить, вбив вместо вычисления sqrt(2) просто константу.

Так вот, когда-то давно, когда машины были большие, проводились сравнения разных компиляторов Фортрана. Им подсовывалась тестовая программа, измерялось время компиляции и время работы скомпилированного бинарника. Особенно в этом сравнении отличились два коммерческих компилятора.

Дело в том, что тестовая программа только что-то считала, но не выводила результат. Умный компилятор рассуждал так: если результат никому не нужен, зачем его считать? Это допустимое поведение, но не для Фортрана же! В результате тест был провален, потому что тестовая программа отрабатывала моментально. Да-да, вы правильно догадались. Оптимизированный вариант выглядел так: exit(0).

После этого в тест добавили вывод результата вычислений. Тут уже отличился другой продукт: компилировал тестовую программу он три часа, зато отработала она опять-таки моментально. В оптимизированном коде было нечто вроде printf(result) — программа сразу выводила результат вычислений, который компилятор в поте лица и считал так долго.

Комментарий:

Ваше имя:

Ещё интересное на этом сайте:

April 28, 2010
Анекдоты и картинки #5550559
Вращающийся RGB LED шар
Постсоветская автоколонна
Драка в Перми: медведь против директора
#2982: Блок-схема ужаса
Аморальные операции на медведях
Общество любителей домашних животных
Предстояние в стихах
Анекдоты и картинки #5545301
Девяностые
Маслята
Календарь для телеканала 2х2
Настырный чувак
Умер слон
О девках и о красоте
Я имею!
День медведя
Припарковался прямо в квартире
Окно в "европу"
« все анекдоты и картинки
Рейтинг@Mail.ru