AudioProcessorValueTreeState - Scalability

@daniel - I applied changes in juce_audio_processors/utilities from develop to 4.5.1 - my initial thought is that @reuk nailed it. Awesome work!

You guys rule.


1 Like

Hi everyone, sorry for the delay in responding. I’ve been a bit ill recently and only got back from the hospital yesterday.

As I remember, I made a first pass of refactorings/changes to the APVTS, and it sounds like those changes made it onto master. A few weeks later, Tom notified me that there had been some performance regressions, so I made a secondary round of changes to fix those issues. it sounds like these fixes are just on develop, and not yet on master, but I could be wrong.

If the performance issues affect you, my first advice would be to test your code using develop. If it’s still slow, then that may indicate that we need to work on some more performance improvements - but hopefully it will just work.


@reuk - sorry to hear about your stent in the hospital - hope you are feeling better.

Performance is looking great, here. Copied APVTS logic from develop to 5.4.1, doubled my parameter count to 20k, and debugger load time sits right around 1700ms - it was 20-30 seconds with 10k params on 5.3 and the process sunk to a standstill crawl on 5.4. (This was due to worst-case O(n^2) iterations each timer expiration because of a linear parameter->valuetree search). I haven’t tested ValueTree assignment much, yet - I know that those routines were slow on 5.3; but I think it’s much faster also.

Great work! I’ll do more testing today.