SpeedUp Neos-Backend?

Thank you for your help and link @aertmann .
Unfortunately an ./flow flow:cache:flush --force doesn’t solve the problem. Same long load-time as before.

But if I do a change in field «Hide after» or «Hide» the «Apply»ing is quite fast. But «_hidden» and «_hiddenAfterDateTime» in «TYPO3.Neos:Hidable» or «TYPO3.Neos:Timeable» is without «reloadIfChanged» Flag.

It’s just a feeling, but maybe I have produced the bottleneck myself in one of my nodeTypes. For only a few times, the bottleneck is no problem. But with more and more, and the nesting it get closer and closer.
For example

  • I have devined a description field for my DL|DD|DT- container. with this, it is more clear in backend where the customer have to change some values, because of this nodeDescription is shown as label. In .yaml-File I use this maybe “not efficient” code:
label: ${'[DL]: ' + (q(node).property('nodeDescription') ? '[' + q(node).property('nodeDescription') + '] ' : '') + (q(node).property('value') ? q(node).property('value') + ' ' : 'SmarterDescription - (root-Element)')}
  • Same in the Grid-nodeType. There I have to add classes for small|medium|large in f6 foundation I do it within the .ts2 file:
### Grid with prototype for Column
prototype(Vendor.Site:SmarterGridColumn) < prototype(TYPO3.TypoScript:Tag) {
	attributes.class = ${'columns' +
		(String.isBlank(q(node).property('small')) ? '' : ' ' + q(node).property('small')) +
		(String.isBlank(q(node).property('medium')) ? '' : ' ' + q(node).property('medium')) +
		(String.isBlank(q(node).property('large')) ? '' : ' ' + q(node).property('large')) +
		(String.isBlank(q(node).property('smallOffset')) ? '' : ' ' + q(node).property('smallOffset')) +
		(String.isBlank(q(node).property('mediumOffset')) ? '' : ' ' + q(node).property('mediumOffset')) +
		(String.isBlank(q(node).property('largeOffset')) ? '' : ' ' + q(node).property('largeOffset')) +
		(String.isBlank(q(node).property('additionalClass')) ? '' : ' ' + q(node).property('additionalClass')) +
		(q(node).property('useWaypoint') && (!node.context.inBackend) ?  ' waypoint' : '' ) +
		(String.isBlank(q(node).property('waypointAnimationType')) && (!node.context.inBackend) ? '' : ' ' + q(node).property('waypointAnimationType')) +
		(q(node).property('scrollMeElement') ?  ' scrollme' : '' )

		}
		content = TYPO3.Neos:ContentCollectionRenderer

		# We have to define contentElementWrapping, because we do not inherit from TYPO3.Neos:Content
    	@process.contentElementWrapping = TYPO3.Neos:ContentElementWrapping
}

Maybe it is to much of work or messy code-style, so I comment-out both with «#» in .yaml the label-line and the superClass mixin-inclusion, in ts2 all the lines for attributes.class. Layout looks horrible, so I guess, the commented-out code is not in work, but:
->NO CHANGE in speed.

I tried also with a new ./flow flow:cache:flush --force
But: ->NO CHANGE in speed.

I work with MAMP-Pro on osx 10.11.5 so I did also «try&error» with:
php 5.5.10
with/without xdebug
without cacheModule/ with APC or XCache or OPcache
php 7.0.0
with/without xdebug
without cacheModule/ with APC or XCache or OPcache
But: ->NO CHANGE in speed.


Maybe I did an other «no-go/bad solution» but can’t see it :cry:.

##My 3 questions:
- Is there a documentation/tutorial to find bottlenecks in own Code, or for find integration-problems in NEOS?
I read your speakerdeck @aertmann looks great, but with the «flush->no speedChange» I guess it is maybe some problem with my code in general.

- I work with phpStorm and xDebug so maybe there is a possibility to do a profiling with? What I have to do for, because of Neos extensive cache-mechanism?

-Is there a easy tool|plugin to do profiling&debugging for also «NO-Neos-Cracks»? I found this : “Profiling and debugging TYPO3 Flow and Neos (T3CON12DE)” but it looks like it is past away. Do know someone more about?

Maybe I’m on completely wrong path. Suggestions are very welcome!

Thanks for help
Martin