После включения расширения C вам необходимо очистить кеш-память Symfony, чтобы заставить Twig перекомпилировать все шаблоны. В противном случае оптимизированная версия не будет использоваться. Это единственное, что нужно для того, чтобы Twig использовал расширение.
Однако, если вы визуализируете формы Symfony, основное узкое место может быть расположено в системе форм, а не в доступе к атрибутам в Twig (тема формы Symfony использует очень мало доступа к атрибутам с системой Twig, она проходит почти все необходимые данные в качестве переменных в контексте).
Если вы столкнулись с проблемой производительности, правильным решением является профилирование вашего кода, чтобы узнать, где именно существуют узкие места, которые расскажут вам, где можно оптимизировать ситуацию. Один бесплатный инструмент для этого - Blackfire, сделанный SensioLabs, который очень прост в использовании (он не работает для серверов, работающих на Windows, хотя, возможно, вам не подходит, учитывая, что вы говорите, что используете IIS). Существуют и другие доступные альтернативы (например, XHProf).
Загружает ли PHP Twig из расширения PHP из ваших файлов? Вы настроили это? (это наивные вопросы, я не знаю этого предмета) –
Согласно http://twig.sensiolabs.org/doc/installation.html, «И теперь Twig автоматически скомпилирует ваши шаблоны, чтобы воспользоваться преимуществами C. Обратите внимание, что это расширение не заменяет PHP-код, но предоставляет только оптимизированную версию метода Twig_Template :: getAttribute(). " поэтому он должен быть автоматическим – Rolintocour
Я также обнаружил, что метод getAttribute медленный, и я перегрузил шаблон из нескольких виджетов, чтобы избежать использования этого метода, и я жестко закодировал нужные мне атрибуты. Поэтому я думаю, что нужно увидеть разницу (например, для списка из 350 объектов, каждый объект, имеющий 3 входа => getAttributes, называется 1050 раз, поэтому я должен увидеть небольшое влияние). – Rolintocour