I just finished this project, and have everything softcoded.
The Test:
I ran a game twice once with RoM 2.8, my modmod's v 1.4, with the logging on. The settings were a Standard RoM_Contients map, with default game options. The other time had the same settings, except using the unreleased developmental version of my modmods, RoM 2.8, and logging on. So the settings are identical.
One can note that my later developmental version actually has more SDK and XML code, so theoretically, it should run slower, if we discount the python callbacks. How much slower? I'm not sure, but I can say that there are about an extra 30 or so buildings, so it is a fair bit slower. However, for this test, we will discount these discrepancies. We want to look at the difference between python callbacks and no python callbacks.
The Results:
100 Turns with the plain RoM and Afforess's Modmod v 1.4, and with python callbacks took an average of 6 seconds/turn.
100 Turns with the latest developmental version of RoM, with Afforess's Modmods, and no python callbacks took an average 4.5 seconds/turn.
That's approximately a 33% increase in speed. Not bad for no loss in features.
Other Comments:
Without python callbacks, the city screen interface, particularly when choosing the queue to build items, seemed much faster.
Finally, I will say that I will always spend my time looking for other things like this to speed RoM. It is my desire to one day have RoM run as fast as plain BTS. This may not be an achievable dream, but I can still strive for it.
EDIT:
I should also mention that I was playing with Storms, I think adding a No Storms Module, like OS79 made would speed up RoM even more. Also, Because I compared my older modmods, to my newest modmods, CAR was included in both turn times. That speeds up vanilla RoM by about 10%. By using the latest un-released developmental version of my modmods, with no storms, players could get a total of a 50-60% speed boost over vanilla RoM.