Medieval is a one-way constraint solver. It is incremental and can bring 400000 constraints up to date in 0.07 seconds:
sizeof: solver 44, cvar 40, cfloat 48, cvarref 4, cvrflist 12 0.08 secs, 4.0024e-06 secs each 0.07 secs, 3.50035e-06 secs each
Designed with emacs