This showed up in some profiling. CmpPosition::TurnStart checks whether the territory changed underneath us every turn. The only user of this is TerritoryDecay (aka buildings for the most part). It is rather inefficient to have this done for all entities.
The simplest solution is to listen to position-changed messages in TerritoryDecay instead. This should hardly ever happen, except in Atlas, so it's basically free.
I haven't been able to find the trac tickets, but this sorta reverts rP14754 (original implementation) and rP14768.
Expected perf gain is minimal (<1%), but it's there.