История изменений
Исправление shty, (текущая версия) :
Оптимизации тоже не сильно сложно.
ага, сильная заявка, все компиляторостроители плачут, их скоро всех поувольняют )
SSA transform - тупо, DCE, code motion - тупо. Loop unrolling, loop strength reduction, loop invariant motion, loop fusion и все такое - тоже тупо и примитивно. Register allocation тоже примитивно, тупых, но эффективных эвристик полно известно, особенно после SSE там все элементарно. Instruction selection тоже, тупое динамическое программирование,
да у тебя вообще всё просто, но что-то мне подсказывает, что ты это только в книжках видел
в бухгалтерии все намного сложнее.
конкретно что там сложнее?
И что сильно способствует простоте - все это очень хорошо разграничивается. Все эти преобразования - сами по себе, и друг другу не мешают. Сложность между ними не распределяется. Каждое преобразование обособлено и примитивно.
а вот что не способствует простоте - допускаются только однозначные преобразования, которые не меняют смысла написанного, и вот с этим не всё так просто
Любая CRUD-система сложнее, потому как там компоненты взаимодействуют нетривиально,
конкретнее, можно?
а в компиляторе тупо последовательная цепочка элементарных преобразований.
в тупом компиляторе - да
Исходная версия shty, :
Оптимизации тоже не сильно сложно.
ага, сильная заявка, все компиляторостроители плачут, их скоро всех поувольняют )
SSA transform - тупо, DCE, code motion - тупо. Loop unrolling, loop strength reduction, loop invariant motion, loop fusion и все такое - тоже тупо и примитивно. Register allocation тоже примитивно, тупых, но эффективных эвристик полно известно, особенно после SSE там все элементарно. Instruction selection тоже, тупое динамическое программирование,
да у тебя всё просто, но что-то мне подсказывает, что ты это только в книжках видел
в бухгалтерии все намного сложнее.
конкретно что там сложнее?
И что сильно способствует простоте - все это очень хорошо разграничивается. Все эти преобразования - сами по себе, и друг другу не мешают. Сложность между ними не распределяется. Каждое преобразование обособлено и примитивно.
а вот что не способствует простоте - допускаются только однозначные преобразования, которые не меняют смысла написанного, и вот с этим не всё так просто
Любая CRUD-система сложнее, потому как там компоненты взаимодействуют нетривиально,
конкретнее, можно?
а в компиляторе тупо последовательная цепочка элементарных преобразований.
в тупом компиляторе - да