Open GSpecDrum opened 3 years ago
Indeed it loops a lot, but still the performances showed here are terrible compared to the ones I get.
With 4 themes enabled, 4800 times on the CompositeTemplateLocator
but the Sylius home page still loads in 750ms approx. And the render time was 0.1094
seconds. So clearly acceptable, even more since this whole thing will get cached once the production mode will be enabled (once on prod mode, it reaches 0.0390
seconds of rendering time)
Are you sure it is not rather related to your environment ?
In any case, do you have some solution in mind ?
Yes, it is related to environment, like I said. On dev environment it is terribly worse than on production.
About solution - I recommend to look how it was done in liip/theme-bundle. There was caching mechanism to not call locateTemplate for each time when template is rendering.
Probably related to #70 and #71
I have performance issues with migrating from liip/theme-bundle to SyliusThemeBundle.
Our project has more than 3 themes and we are using SonataAdminBundle. It has many twig template calls to rendering small blocks.
As a result,
Sylius\Bundle\ThemeBundle\Twig\ThemeFilesystemLoader::locateTemplate
is called more than 200 times per request.Inside this method
HierarchicalTemplateLocator
rotating through all themes and all themed locators for each twig render call. It tooks very long time for such frequent calls.In total, requests fall in timeout.
I have profiler screenshots to show my case (dev environment):
2 themes is configured
7 themes configured
one more screen - for CRUD list action, 2 themes configured:
Based on the above, for now I can't using this bundle for my project. I don't understand why this bundle is recommended to replacing for liip/theme-bundle.