Project

General

Profile

Actions

Bug #78664

closed

TransientMemoryBackend + VariableFrontend = unserialize/serialize mayhem

Added by Claus Due about 8 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2016-11-12
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
8
PHP Version:
Tags:
Complexity:
easy
Is Regression:
No
Sprint Focus:

Description

When combining a VariableFrontend with a TransientMemoryBackend it would be possible to store variables directly instead of forcing them to be serialized and unserialized repeatedly. Per definition, a TransientMemoryBackend is able to hold references to objects but the VariableFrontend is unaware of the backend type and so only passes string values that it has serialized, and only returns values it unserialized from strings. Perhaps worse, the TransientMemoryBackend throws an exception if attempting to store anything other than a string - which makes little sense given the above.

With a few simple modifications and an additional contract indicating that a backend is capable of holding references as well as arbitrary data types, the VariableFrontend can use transient memory storage MUCH more efficiently.

An example profile I'm watching right now has approximately 100 copy operations which are heavy on the ReferenceIndex which in turn is heavy on the runtime cache, now shows no less than 30,000 fewer calls to unserialize.

Actions #1

Updated by Gerrit Code Review about 8 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/50600

Actions #2

Updated by Gerrit Code Review about 8 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/50600

Actions #3

Updated by Anonymous about 8 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions #4

Updated by Gerrit Code Review about 8 years ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50634

Actions #5

Updated by Gerrit Code Review about 8 years ago

Patch set 2 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50634

Actions #6

Updated by Gerrit Code Review about 8 years ago

Patch set 3 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50634

Actions #7

Updated by Gerrit Code Review about 8 years ago

Patch set 4 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50634

Actions #8

Updated by Gerrit Code Review about 8 years ago

Patch set 5 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50634

Actions #9

Updated by Anonymous about 8 years ago

  • Status changed from Under Review to Resolved
Actions #10

Updated by Benni Mack about 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF