Skip to main content
Open

Disable feature caching on specific output ports

Related products:FME Form

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.

7 replies

  • May 10, 2019

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.


stevenjh
Contributor
Forum|alt.badge.img+1
  • Contributor
  • June 5, 2019

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.


dbaldacchino1
Supporter
Forum|alt.badge.img+11

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 :)


carmijo
Contributor
Forum|alt.badge.img+11
  • Contributor
  • September 23, 2022

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


carmijo
Contributor
Forum|alt.badge.img+11
  • Contributor
  • September 23, 2022

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?


nordpil
Supporter
Forum|alt.badge.img+10
  • Supporter
  • April 22, 2024

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


LizAtSafe
Safer
Forum|alt.badge.img+15
  • Safer
  • April 5, 2025
The following idea has been merged into this idea:

All the votes have been transferred into this idea.

Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings