[Typo3-dev] Higher parsetime in 3.8.0
Simon Ihmig
ihmig at kaliber5.de
Mon Aug 29 13:51:25 CEST 2005
Hi,
unfortunately there hasn't been any response to the problem described below.
Isn't any of the guys more involved into the core stuff willing to have
a look at it, so at least we can have a confirmation whether this is
really a design flaw that can be fixed effectively?
What it takes to fix this (sponsoring?) could be discussed later on.
Thanks!
Simon
Simon Ihmig schrieb:
> To "/Parse template":
> Within this section the function t3lib_TStemplate->start() is called by
> tslib_fe->getConfigArray(). It builds the TS array, which is obviously
> also needed by the USER_INT, however caching should allow for low overhead.
>
> Profiling revealed that most of the time is consumed by the following
> parts:
> A: invoke runThroughTemplates() - took 33ms
> B: invoke getHash() - took 7ms
> C: unserialize the cached TS - took 12ms
> D: cache_pagesection is written - took 3ms
>
> The mentioned parsetimes are based on a rather complex site, with a lot
> of extension etc., so maybe C can be optimized by simplifying the TS
> code like Joey suggested.
>
> This might be untrue as I am not so involved into the T3 core, but I
> feel that A might be a real design flaw.
>
> When you look at runThroughTemplates() it seems to look for templates in
> the rootline, and calls processTemplate() for every template found,
> which recursively calls itself for other templates that are beeing
> included.
>
> So basically it fetches all the used templates from the database. And if
> you have splitted up a complex website into many templates, for the sake
> of readability and reusability, which is a good thing to do IMHO (!),
> this might lead to some 20 database calls or so!
>
> So the question goes to some T3 insider: is there any need for this
> whole process? I see that the actual TS code is fetched later from
> cache, but there are still those many database operations before by
> calling runThroughTemplates().
>
> If that call makes sense in the current implementation, wouldn't it be
> possible to also use some caching mechanism?
>
> The TS code stays the same for every page view, so there shouldn't be a
> need for this, should it?
>
> Though 33ms might sound very little, when you are able to eleminate this
> and thus reduce parsetimes from 90ms to 60ms, you can actually serve 50%
> more traffic. For a highvolume site that's a huge performance increase!
More information about the TYPO3-dev
mailing list