I don't remember where but in someplace in the docs it is mentioned that using the namespaced syntax is faster. Maybe all the symfony docs should be updated to only use the namespaced syntax
On Sun, Jun 2, 2013 at 1:13 PM, Thomas Rabaix <[email protected]>wrote: > Hello, > > I have done a few strace on a php-fpm while rendering a standard symfony > action. The strace shows one interesting thing about how symfony + twig try > to resolve template location. > > From the documentation, h > ttp://symfony.com/doc/master/book/templating.html#template-naming-locations<http://symfony.com/doc/master/book/templating.html#template-naming-locations>, > the documented way to define a template is to use colon notation. This > notation generates extra IO and does not seems to use the templates.php > cache file at first. > * > * > *Template name: @SonataUserBundle:Admin:Security/login.html.twig* > stat("/vagrant/sandbox/app/Resources/views/SonataUserBundle:Admin:Security/login.html.twig", > 0x7fffd33c8420) = -1 ENOENT (No such file or directory) > stat("/vagrant/sandbox/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form/SonataUserBundle:Admin:Security/login.html.twig", > 0x7fffd33c8420) = -1 ENOENT (No such file or directory) > stat("/vagrant/sandbox/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views/SonataUserBundle:Admin:Security/login.html.twig", > 0x7fffd33c8420) = -1 ENOENT (No such file or directory) > access("/vagrant/sandbox/app/Resources/ApplicationSonataUserBundle/views/Admin/Security/login.html.twig", > F_OK) = -1 ENOENT (No such file or directory) > access("/vagrant/sandbox/src/Application/Sonata/UserBundle/Resources/views/Admin/Security/login.html.twig", > F_OK) = -1 ENOENT (No such file or directory) > access("/vagrant/sandbox/app/Resources/SonataUserBundle/views/Admin/Security/login.html.twig", > F_OK) = -1 ENOENT (No such file or directory) > access("/vagrant/sandbox/vendor/sonata-project/user-bundle/Sonata/UserBundle/Resources/views/Admin/Security/login.html.twig", > F_OK) = 0 > > However, there is another notation (The one use in the Symfony Profile) > which does not generated extra IO > > *Template name: @SonataUser/Admin/Security/login.html.twig* > stat("/vagrant/sandbox/vendor/sonata-project/user-bundle/Sonata/UserBundle/Resources/views/Admin/Security/login.html.twig", > {st_mode=S_IFREG|0644, st_size=1564, ...}) = 0 > stat("/vagrant/sandbox/app/cache/prod/twig/a8/e6/51a3ddff7ccaf9e1a0ef99ab2a9f.php", > {st_mode=S_IFREG|0664, st_size=4060, ...}) = 0 > > I also find another I/O check in the Twig_Loader_Filesystem::addPath > (is_dir) method. The check must be done will using twig as a standalone > component, however the TwigBundle already check path inside the Extension, > so the Symfony\Bundle\TwigBundle\Loader\FilesystemLoader should overwrite > the addPath method. This can save up to 1 I/O check per bundle. > > > Note: The strace have been done on a env ready for production: composer > dump-autoload -o / apc.stat = Off / warm-cache --env=prod. > > -- > Thomas Rabaix > [email protected] > > > > > -- > -- > If you want to report a vulnerability issue on Symfony, please read the > procedure on http://symfony.com/security > > You received this message because you are subscribed to the Google > Groups "symfony developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/symfony-devs?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Symfony developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- If you want to report a vulnerability issue on Symfony, please read the procedure on http://symfony.com/security You received this message because you are subscribed to the Google Groups "symfony developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-devs?hl=en --- You received this message because you are subscribed to the Google Groups "Symfony developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
