I have been investigating memory usage a bit.
From what I can see, cities and units have some optimization potential but they should be smaller than 100MB in total even when there are loads of units and cities around. That can also be seen in the savegames that are quite small.
The XML info classes can use optimization in parts but that will not gain more than several MBs (maybe 10s of MB).
I have not investigated what Python uses but I don't expect too excessive memory usage there (at least not beyond the basic footprint you get when you start a new game).
In the end I suspect that the majority of the memory is used up by 3d models. Especially in late game there can be an excessive amount of different units, buildings and other graphics.
I would suggest to make sure that only units from 1-2 ages are present and elder units that have an upgrade are either force-upgraded or destroyed.
From what I can see, cities and units have some optimization potential but they should be smaller than 100MB in total even when there are loads of units and cities around. That can also be seen in the savegames that are quite small.
The XML info classes can use optimization in parts but that will not gain more than several MBs (maybe 10s of MB).
I have not investigated what Python uses but I don't expect too excessive memory usage there (at least not beyond the basic footprint you get when you start a new game).
In the end I suspect that the majority of the memory is used up by 3d models. Especially in late game there can be an excessive amount of different units, buildings and other graphics.
I would suggest to make sure that only units from 1-2 ages are present and elder units that have an upgrade are either force-upgraded or destroyed.