[TYPO3-project-4-3] 4.3.0 vs. 4.2.7

JoH asenau info at cybercraft.de
Fri Jun 12 17:23:48 CEST 2009


>> And another question:
>> Does it really make sense to use a constructor that has to "build"
>> the backend and frontend used by the CF on each request again and
>> again?
>> Why can't we just use ready made files for each possible combination
>> of cache frontend and backend, which then will be triggered by a
>> simple matching combination in TYPO3_CONF_VARS instead of such a
>> "framework"?
>
> I'm not familar enough with the CF to get what you mean. Could you
> explain or give a short example?

Well - as far as I understand it by looking at the code, the "caching
framework" is constructed as a singleton on each request.
During initializazion it checks TYPO3_CONF_VARS which kind of caching
frontend or backend to use and gets the necessary class files to create the
appropriate combination for the basic interfaces, which are again classes
that will trigger other classes etc. pp.

Since each singleton will be gone after the request ends, this has to be
done again and again and again, instead of doing it once by creating a file
called "currentCacheCombination.php" or however you may call it, that could
be used until the setup in TYPO3_CONF_VARS changes.

>> After all caching (framework or not) is about performance and not
>> about implementing fancy programming patterns.
>
> Hah! :)

It could have been really funny, but in fact it's sad but true :-(

>> Why does the CF use exec_SELECTgetRows for the "db backend", if
>> there will be just one entry per identifier anyway?
>> What about checking for MySQL COUNT being TRUE instead of fetching a
>> whole dataset and counting it's entries with PHP to check for the
>> existence of an entry?
>> What about _always_ using SQL functions _during_ the query instead
>> of PHP functions on arrays _afterwards_?
>
> This is implementation detail. AFAIK the approach of the v5 team was
> to get things running first and do the tuning later. Feel free to
> provide patches that speed-up the DB backend.

I just wanted to point out that this approach might apply to v5, since it is
not aiming to be ready for production yet.
But IMHO we should not implement stuff that has to be "tuned later" into 4.3
since this definitely _has_ to be ready for production within a very short
time frame.

I will try to dig deeper before providing any patches though.

Cheers

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
Xing: http://contact.cybercraft.de
Twitter: http://twitter.com/bunnyfield
TYPO3 cookbook (2nd edition): http://www.typo3experts.com
TYPO3 workshops: http://workshops.eqony.com




More information about the TYPO3-project-4-3 mailing list