My worst nightmare is millions of particles rendered in 3D with motionblur and disk cache on top of it.
So the answer is yes. I feel particle disk cache is not my friend. It's popping and sometimes I see that even it's freshly cached it recalculates the particle render again and again. Comes with local render also.
It's hard to find out what's wrong so it's hard to report it but definitely something is wrong.

When I did my last particle setup (the light swoosh thing) I got so frustrated by how particles are handled. It was just re-rendering again and again.

Jumping from one frame to the next is reasonably fast. But going back one frame means Fusion has to render the whole sim up to that point. But why doesn't it cache that data along the way? Ok, maybe we don't want it to use up all the RAM but if a particle disk cache is present, Fusion should use it while it's simulating those frames.

Also, particle colors and positions should somehow be separated when caching/simulating. Sure, a pCustom could modify positions based on color or vice versa. But if only emitters and forces are used, it would be much nicer if I could change colors without losing all the rendered/cached positions.

Yeah, I remember when particle caching came out and I was hoping for some clever file format, or even ascii tables, with a pCacheLoader and pCacheSaver or something. And the ability to do clever stuff like read every nth particle, retiming, interpolating, etc.

Or at least the ability to apply the cache to any emitter I like, no matter the particle count.

We've done something along those lines but with either .csv or .prt files. You chose which channels you want to save and load, like position, velocity, color, density, etc., and what depth you want those channels saved in (uint8 works surprisingly well for density, but obviously isn't good enough for position).

We could support .part files if we had any idea what was in them.

The idea is you can save out the .prt files then load in 1/10 of them for the viewport vs all of them for the render. It lets you toss out the actual pRender and everything upstream of it, which is nice because not only can you separate out the particles from the rendering and comp, but you can do interchange with Maya, Max, Houdini, C4D, whatever.