Skip to main content

Allow certain output ports to have their feature caching disabled to improve performance.

As an example, I quite often use the FeatureMerger. With Feature Caching turned on it will cache all the output ports, as described here under the 'Unconnected Output Ports' heading - https://knowledge.safe.com/articles/79739/feature-caching-and-performance.html - I often don't care about the UnusedSupplier and UsedSupplier, but they tend to be the largest datasets and add significant time on first run/uncached runs.

What would be ideal is an option to turn off the feature caching for certain output ports, perhaps under the right click menu of the output port itself.

Admittedly this right click menu only appears once the feature caching is done, but you get the idea.

This is similar to this proposal - https://knowledge.safe.com/content/idea/77431/feature-caching-woes-reuse-large-attributesturn-so.html - But a bit more granular, whereas that proposal suggests allowing feature caches to be turned off for entire transformers, this one proposes only turning them off for certain output ports.

I was going to make the same suggestion but found your post first. The StatisticsCalculator is also a good example. The Cumulative output is rarely used but doubles the amount being cached for that transformer.


I'll add another example to this, the SurfaceModeller, I've had a workbench spend all night trying to make the unconnected voronoiDiagram after I switched from a subset to a full dataset.

It made me think that ouputs could be considered Filters, Manipulators, or Creators/Generators, and don't cache the unused Creators/Generators as they require additional processing.


As a matter of UI efficiency and related to this idea, sometimes I want to turn on feature caching only on a specific transformer/s. For example if you have a really big workspace, you might want to enable feature caching just on a few transformers towards the end. In that case it would be valuable to have an option to disable caching at the workspace level, and then selectively pick which transformer and ports you want to enable feature caching on. Yes, fine granular control is what I'd like :)


good point. you could use inlinequerier to pull stats and only get out what you want but i understand the need for a no-code solution


One potential reason this isn't gaining traction - wouldn't this require you to re-run the transformer if no features are being cached from a port that passes features for further processing?


To reduce feature caching, one can always minimize bookmarks, that way feature caching only happens on the input/output ports (to the bookmark)


The following idea has been merged into this idea:

All the votes have been transferred into this idea.