Свободная таблица
| компилятор
действие | Microsoft Visual C++ 6 | IntelC++ 8.0 | GCC 3.3.4 | ||||
| выравнивание переходов | не выравнивает | не выравнивает | выравнивает по границе степени двойки | ||||
| быстрое булево вычисление | поддерживает | поддерживает | поддерживает | ||||
| удаление избыточных проверок | не удаляет | удаляет | не удаляет | ||||
| удаление проверок нулевых указателей | не удаляет | не удаляет | удаляет | ||||
| совмещение проверок | не совмещает | совмещает | не совмещает | ||||
| сокращение длины маршрута | сокращает | сокращает | сокращает | ||||
| уменьшение кол-ва ветвлений | уменьшает | уменьшает | уменьшает | ||||
| сокращение количества сравнений | сокращает | частично сокращает | не сокращает | ||||
| избавление от ветвлений | избавляется от ветвлений константного типа | никогда не избавляется | избавляется всегда, когда это возможно | ||||
| балансировка логического древа | троичное дерево, сбалансированное улучшенным методом отрезков | двоичное, несбалансированное дерево | троичное дерево, сбалансированное методом отрезков | ||||
| создание таблицы переходов | создает | создает | создает | ||||
| поддержка разряженной таблицы переходов | поддерживает | поддерживает | поддерживает | ||||
| совмещение таблицы переходов с деревом | совмещает | не совмещает | не совмещает |