This flocking system has been reworked many times over the last two decades. Early versions were CPU-bound boid sims that could only handle 1000 objects before losing interactive framerates. Newer versions pushed the flocking logic to the GPU and I was able to get realtime simulations with up to 40,000 objects. (A friend recently ported my flocking logic to some fancy compute shaders on a modern GPU and was able to achieve 30+ fps with over a million flockers.)
The most recent versions were rebuilt in Houdini and feature flocker counts between 200,000 and 500,000. Videos of these versions are below.