Continuum Crowds is an advanced algorithm to model & simulate pathfinding of massive amounts of particles (agents, entities, ...)
Similar / slightly altered solutions are being used in AAA games that feature huge crowds of AIs such as Assassin's Creed.
This simulation is running at around 40-50 fps using a single CPU thread.
Continuum Crowds runs independently from the amount of particles being simulated, that is 20.000 particles for example will just run as fast as 200. (rendering not taken into account.)
In the future I plan to optimize the dynamic pathfinding so that people will keep a bit more distance to each other. (currently they tent to cluster a bit.)
Later, I'll port the code to the GPU & might even get it ready for CPU multithreading.