If you have been working with Analyzer 2 for a while, you are probably very familiar with one of our most appreciated working concepts, on demand processing. Rather than storing the result of every processing step on hard disk, Analyzer 2 applies all the parameters of your processing pipeline on the fly to the portion of data that you are currently looking at. While this way of processing is highly efficient, it has also some bottlenecks, for instance when dealing with rather resource-intensive processing. Here, caching is our remedy. When the data is cached, it is stored on the hard disk and therefore subsequent processing steps will not have to go back to the raw data and apply all the parameters on the fly. Instead, everything that has happened before the caching is already contained in this stored data and, thus, less on demand processing needs to happen.
You might ask yourself now, what does this have to do with the filters? While the IIR Filters are working resource efficiently, they have to deal with transient phenomena. The filter will request some data before and after each data point in order to compute the filtered data; therefore, it is missing input at the edges of each data segment. This generates filter transient artifacts at the segment boundaries, and is also the reason why it is preferable to apply filters on continuous data. However, when you apply the filters on demand, they are applied only to the data segment that you are displaying; this raises the problem with the filter transients again. While we are doing our best to avoid this issue (Analyzer 2 actually filters a longer section of data than what is displayed), the effects of filter transients cannot always be compensated.
Caching helps here because the entire data is filtered at once and then stored on the hard disk. Later processing steps will thus grab the fully filtered data and thereby completely avoid transients (except for the beginning and end of the whole dataset). Therefore, we offer optional caching directly in the IIR Filters dialog and we recommend using this option, for instance, when applying rather low cutoffs (< 0.5 Hz). At the same time, caching at the level of filters can also speed up later processing steps.
To make a long story short, I strongly recommend caching as it has no disadvantages and is potentially very helpful for your data processing. In Analyzer 2.2.2, we have decided to enable the caching option in IIR Filters by default and encourage using it. This small detail should make your data processing experience even better.