Техника оптимизации под линуха

Свободная таблица




компилятор

действие

Microsoft Visual C++ 6

IntelC++ 8.0

GCC 3.3.4

выравнивание переходов

не выравнивает

не выравнивает

выравнивает по границе степени двойки

быстрое булево вычисление

поддерживает

поддерживает

поддерживает

удаление избыточных проверок

не удаляет

удаляет

не удаляет

удаление проверок нулевых указателей

не удаляет

не удаляет

удаляет

совмещение проверок

не совмещает

совмещает

не совмещает

сокращение длины маршрута

сокращает

сокращает

сокращает

уменьшение кол-ва ветвлений

уменьшает

уменьшает

уменьшает

сокращение количества сравнений

сокращает

частично сокращает

не сокращает

избавление от ветвлений

избавляется от ветвлений константного типа

никогда не избавляется

избавляется всегда, когда это возможно

балансировка логического древа

троичное дерево, сбалансированное улучшенным методом отрезков

двоичное, несбалансированное дерево

троичное дерево, сбалансированное методом отрезков

создание таблицы переходов

создает

создает

создает

поддержка разряженной таблицы переходов

поддерживает

поддерживает

поддерживает

совмещение таблицы переходов с деревом

совмещает

не совмещает

не совмещает



Содержание раздела