For a typical contest, one judged submission triggers recalculation of 6 rankings (3 access levels * (per round ranking + whole contest ranking)), so it sometimes takes a while for the changes to appear.
That may partly be caused by the recalculation cooldowns (as intended), but those could be made less aggressive if rankingsd is able to recalculate e.g. 3 rankings in parallel.
There are also some places in recalculation logic where db queries could be optimized.