[BUGFIX] Cache results of explodeSoftRefParserList() 62/38662/3
authorStephan Großberndt <stephan@grossberndt.de>
Tue, 9 Dec 2014 13:33:57 +0000 (14:33 +0100)
committerAndreas Fernandez <andreas.fernandez@aspedia.de>
Mon, 13 Apr 2015 15:32:53 +0000 (17:32 +0200)
commit5a15c87f0eae7d45a3fc8635561bc91698f7ec5a
tree61666fe1c9cdada2c73cbd62fdb4699fb83cfd78
parenteeaf6d913bf12d5e133d4ef89b2dfef9ecf58069
[BUGFIX] Cache results of explodeSoftRefParserList()

BackendUtility::explodeSoftRefParserList() is called with a very
limited set of input parameters, but processing is rather expensive.

Introduce a runtime cache to avoid processing the softrefs over
and over.
This especially speeds up calls from ReferenceIndex::getRelations(),
which is called many times.

Resolves: #63675
Releases: master, 6.2
Change-Id: I34a4392533828667c1b63b1ecb4ca12580e05e06
Reviewed-on: http://review.typo3.org/38662
Reviewed-by: Xavier Perseguers <xavier@typo3.org>
Tested-by: Xavier Perseguers <xavier@typo3.org>
Reviewed-by: Andreas Fernandez <andreas.fernandez@aspedia.de>
Tested-by: Andreas Fernandez <andreas.fernandez@aspedia.de>
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/core/Classes/Database/ReferenceIndex.php
typo3/sysext/core/Classes/Database/SoftReferenceIndex.php
typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php