编译后的C扩展性能


Twig: compiled C extension performance

我为我的PHP/IIS (5.6.11, nts, x86)编译了twig C扩展,并成功激活了它:我可以在phpinfo()中看到它。

但是它对性能绝对没有影响,无论是在开发模式还是生产模式下,而我收集了数百个Symfony2表单(大量使用Twig)。

用例是什么,或者还有什么要做的?

启用C扩展后,您需要清除Symfony缓存以强制Twig重新编译所有模板。否则将不使用优化后的版本。这是唯一需要让Twig使用扩展。

然而,如果你呈现Symfony表单,主要的瓶颈可能位于表单系统中,而不是在Twig中对属性的访问(Symfony表单主题在Twig系统中很少使用对属性的访问,它在上下文中将几乎所有必要的数据作为变量传递)。

如果您面临性能问题,正确的解决方案是分析您的代码,以了解瓶颈真正在哪里,这将告诉您可以在哪里进行优化。Blackfire是一个免费的工具,由SensioLabs开发,它非常容易使用(但它不适用于运行在Windows上的服务器,所以考虑到你说你使用IIS,它可能不适合你)。还有其他可用的替代方案(例如XHProf)。