Project

General

Profile

Actions

Bug #64449

closed

Epic #65429: Speed up for Fluid ViewHelpers by usage of CompilableInterface

f:switch very slow since it does not implement CompilableInterface interface

Added by Christian Weiske about 9 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Fluid
Target version:
Start date:
2015-01-23
Due date:
% Done:

100%

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

Description

The Fluid SwitchViewHelper (<f:switch>) does not implement CompilableInterface. This prevents the TemplateParser from caching it, making template rendering unbearably slow.

<f:if> on the other hand does implement the interface (through AbstractConditionViewHelper) and gets cached properly.

<f:switch> should be cached!


Related issues 3 (0 open3 closed)

Related to TYPO3 Core - Task #64521: Merge performance improvement from TYPO3.fluidClosed2015-01-26

Actions
Related to TYPO3 Core - Task #64546: Add CompilableInterface to a couple of ViewHelpersClosed2015-01-27

Actions
Is duplicate of TYPO3 Core - Task #66718: Make SwitchViewHelper CompileableClosed2015-05-01

Actions
Actions #1

Updated by Mathias Schreiber about 9 years ago

  • Target version set to 7.2 (Frontend)
Actions #2

Updated by Christian Weiske about 9 years ago

Btw, simply adding an "implements ..." line to the class declaration leads to bugs in the output.

Actions #3

Updated by Christian Kuhn about 9 years ago

Yes. This is not only this specific view helper, there are much more. I'm currently working on a fresh backport from TYPO3.fluid that has much more compilable interfaces implemented already, you can expect a patch in this area soon.

Actions #4

Updated by Christian Kuhn about 9 years ago

if backport is done, a couple of other view helpers that did not yet have been fixed in fluid upstream will be changed for cms core locally. the performance boost is just too high to wait for upstream at this point ... give me some time and expect this issue to be fixed soon. i'll ping you for reviews if you find the time, Christian.

Actions #5

Updated by Anja Leichsenring about 9 years ago

  • Parent task set to #65429
Actions #6

Updated by Bastian Waidelich about 9 years ago

Hi,

that is a problem indeed. The actual issue is not that the ViewHelper itself is not compilable, but that it also implements the {ChildNodeAccessInterface}} which - in combination - leads to the whole template file not being compiled. (see https://jira.typo3.org/browse/FLOW-224).
BTW: The same is true when using widgets, but in those cases the issue is probably very hard to solve unfortunately (see https://jira.typo3.org/browse/FLOW-196).

Actions #7

Updated by Christian Kuhn almost 9 years ago

  • Status changed from New to Resolved

This was resolved with #66718

Actions #8

Updated by Christian Kuhn almost 9 years ago

  • % Done changed from 0 to 100
Actions #9

Updated by Riccardo De Contardi over 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF