Task #54251
closedEpic #55070: Workpackages
Epic #55065: WP: Overall System Performance (Backend and Frontend)
Bug #52949: Speed decrease since 4.5
GeneralUtility::array_merge_recursive_overrule has bad performance
100%
Description
According to my profiling activities, GeneralUtility::array_merge_recursive_overrule has really bad performance. (~ 111 ms own time for a BE call, that ranks number 3 in the list of the most expensive calls based on own time sorting.)
Some tests show that this is due to many array copy actions during the recursive calls (foreach constructs with $val being a copy of possibly large subarrays).
- making the first parameter by reference thus working on the original array
- move the function from GeneralUtility to ArrayUtility
- deprecate the function in GeneralUtility, but still work on a copy of the first array there to preserve backwards compatibility
- change all calls in core to use the new method
This brings the own time of the function down to 42 ms on my test system, getting the function out of the expensive calls in TYPO3 CMS.
Updated by Gerrit Code Review almost 11 years ago
- Status changed from New to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Gerrit Code Review almost 11 years ago
Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25986
Updated by Markus Klein almost 11 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 2917b0745dbe038c10e13f5910776dfb02371b12.
Updated by Riccardo De Contardi about 7 years ago
- Status changed from Resolved to Closed