Just seems like all the CTD's and bug error etc are from that area. and masybe causing the AI to slow up also besides turn times, i am just guesssing of course.
It's a fair guess considering how long its taken to get things fully stabilized there. There was a CTD regarding the workers but that's been easily rectified.
It COULD still be an issue for memory IF (and only if) you play with the option. But I have a couple items on the task list to do that should make it much less taxing there. Additionally I've taken some very big strides forward in improving the AI usage of the merging and splitting functions so that not only will they not tax the memory so much with it, their usage of it makes the game MUCH harder because it's a lot smarter about it. (Been downright fun to play against since then actually.)
What's currently causing issues with the turn times is this infernal 'tunnel fix' I did a while back. To get the game to use movement rules properly for tunnels and other similar situations has apparently caused a lot of extra processing that the original design shortcut past with an EXTREMELY simplified movement/unit interaction system that I abhor due to the way it tied our hands in so many ways. But it did do well to keep processing to a minimum. What I'm going to need to do to really fix that situation is extremely in-depth and could take a month or more to solve. There could be some crashes taking place there in rare cases as well.
The other matter Alberts2 pointed to was that the healer AI is eating up a lot of processing as well. I can see how that would be quite possible. Again there, that's another super deep thing to fix and it sucks to even touch it now that its working so well. I've seen extremely appropriate behavior regarding healing and property control units.
But the main thing is to try to reduce how often the AI spends time evaluating. At the moment it evaluates if a city or growing stack NEEDS a healer or property control unit with each city and then evaluates where a healer or property control unit really needs to be each time that unit's turn comes up for the AI.
The evaluation is a little heavy itself so what I think needs to happen is a one-time evaluation on a player level that determines where it needs more of these units and where it doesn't need as many and sets up a single 'demand' count by plot and/or by 'stack' and then when the cities go to evaluate they just check that one reference and modify that number if they set themselves to do something about it.
There's truly a world of considerations that need to be made to start designing such a streamlined system and it would probably be best if such a system were setup to apply to many other unit needs as well so it would need to be pretty generically applicable. So again, months to design. But it would be highly valuable to opening up an ability to get the AI to be much smarter on many levels while at the same time being faster.
Furthermore, to do this would mean I would really need to start considering using some data structures I'm not very comfortable with. I still have a little trouble following Koshling's data structures as it is but I understand they have a lot of memory and speed optimization that caused him to opt to use them to begin with. And I suspect if I were to setup all I just mentioned that they would be the best way to apply a lot of that.
There's more to this that deals with how the AI considers its stacks as well. And again that's a lot to discuss with Alberts2 there. Some initial considerations have been put forth as it is.
BuildUps MAY still have some slowdown issues that have yet to be fully addressed but I really would've thought I'd streamlined it quite a bit after the recent rule fixes. I may need to do some profiling to really test that. One thing that really may need to be done is to again reduce the frequency that a unit evaluates it's 'best promotion'. I may be asking units to run this evaluation too often so as to always make sure they are using the best possible selections for them and that could be what's really detrimental to the turn times. I cut it down so that it's only checking each stationary unit 1 out of 5 turns rather than every turn. Could still be too much and I might have to just get them to figure out what the 'best' is for them and forget trying to stay updated to the greatest current needs.