Stop recalculating channel response unnecessarily.
Closed this issue · 1 comments
The channel response calculation is now the long pole in the tent, wrt/ performance.
So, let's stop recalculating it unnecessarily.
I know we don't want to make the whole calculation a dependent property in the Traits/UI automatic flow.
(We tried that and the lack of true lazy evaluation foiled us.)
But, what about bits and pieces of it going back into that flow?
Actually, the solution turned out to be the opposite: pulling more bits and pieces out of that automated flow improved performance dramatically.
I suspect that's because lots of little sub-computations were being done multiple times (due to having multiple dependencies, which were changing as we were setting up for the full run), before we were actually requesting the full channel response calculation.
God! we could really use true lazy evaluation in the Traits/UI cached_property
flow. :(