algernon-A / TransferController

MIT License
6 stars 3 forks source link

Results of a stress test between this mod (TC) and EDS #11

Open moabdave opened 2 years ago

moabdave commented 2 years ago

I ran a "stress test" between EDS (Enhanced District Services) which I've long used, and TC (Transfer Controller) to manage city service matchmaking and the industrial supply chain. I don't have a point, just this test took a while and I figured I'd publish the results in case someone finds it useful, and to justify the amount of time I wasted er' uh spent on this. ;) Algernon, feel free to delete if you don't feel this is helpful. I intentionally started with a large city (both in population and area) where the existing EDS mod was struggling to make the matches fast enough to keep the supply chain moving (i.e. usually ok, but when something went bad the problems accumulate fast). I configured TC to match prior EDS configuration as close as I could. (This required aborting the test, fixing TC configuration for something missed, and restarting many times) and let each mod run the city for exactly 6 months. The only intervention I did during the runtime was using the mod Watchit, I would fix the issues in the "buildings with problems" list to remove the ones such as cemetery full, abandoned building, etc. to keep the list of problems exclusive to transaction and supply chain management. One key difference between the TC and EDS runs: this city uses 81 tiles mod, with the ore extraction at the extreme corners of the map. The EDS mod allows you to specify buildings (not just districts) for industrial supply chains. I was making use of this option to bring the ore from the edge of the map to the city via forced one way movements from warehouse to warehouse, and prevent truck shipments moving ore upstream or to a sink too far away. With TC not supporting this feature in my initial runs the ore supply chain basically collapsed. So not a completely fair test as this city was designed around a feature unique to EDS. To try to make the test more fair and quasi make the two mods behave similar I split the ore industrial area into 2 areas with the ore passing from one to the other for the TC runs. That helped a lot, but still not a level playing field. Even with the aborted runs while I was tweaking mod configuration, I saw the same general pattern. TC yielded more exports and less imports required to keep commercial happy than EDS. But EDS had fewer problem buildings, especially in industrial areas. It almost seems like if multiple warehouses are available, EDS spreads the load more while TC seems to have preferred warehouses (the closest one?)

        Start:  EDS-1** EDS-2   EDS-3   EDS-4   TC-1    TC-2*   TC-3
Population: 211701  212969  213841  213872  213708  213357  213067  213827
Imports:    28307   17568   26953   26213   26334   17568   18311   18287
Exports:    4011    4101    3853    3856    4060    4011    3949    3922
Vehicles:   18372   17074   #       17856   17809   18318   15377   15770
Problems:   79      172 91  94  84      158 183 177

*Run had a fire at a warehouse, affecting supply chain This run had a flood that briefly closed a key road to the fishing industrial area

value lost due to copy-paste error.

algernon-A commented 2 years ago

Wow, nice testing!

Yes, TC will bias more towards the closest warehouses. I think in your specific case it does come down to being able to assign specifc buildings (warehouses esp.) for supply chans.

This was originally a planned feature right from the outset (you can see the space allocated for building records in the mod's data structures right from the start). I then decided to de-prioritize it, but then changed my mind again! Tentatively scheduled for 0.3 (I'm just finishing off 0.2 now).

moabdave commented 2 years ago

I hope you're not changing priorities just for me. I'm looking forward to see where this mod goes. I like EDS, but it hasn't been updated for a while and it's a bit rusty. However, if a city was designed around the feature of an old mod the solution is simple, stick with the old mod while playing that city. I thank you for what you've given to the community. This mod shows amazing potential and your mod RON was the mod I didn't know how badly I need it until first installed it. Wow does that mod make fixing messes with networks easy.

moabdave commented 2 years ago

If you're curious, I don't plan on spending as much time as I did last time testing, but I did let that same city file run with the new version of the mod and compared how it looked verses the old and verses EDS. Here's some observations: Now that specific building restrictions have been added to TC, I no longer had to do the "split ore industrial area" workaround mentioned above. The general trend I observed is TC, especially with garbage, mail and corpse collection, is more likely to dispatch a vehicle that is already on the streets, but still has some capacity, verses EDS is more likely to dispatch a new vehicle if available. That results in slightly more buildings reaching a "problem status" before they are serviced with TC verses EDS (I'm guessing as sometimes that vehicle is dispatched from a further distance than a newly spawned vehicle would be), but a lower vehicle count required to maintain adequate service levels across the city and lower overall traffic congestion with TC. I saw that pretty consistently. As TC tends to favor the closest warehouse, where as EDS seems to more "Share the load", if only configured with district level restrictions, I did see more localized congestion around the closest warehouse, and under utilization of the farther away warehouses. However, with building level restrictions, I saw virtually identical behavior between the two mods. My one feature request would be if you could display the commodity produced/stored in the TC configuration dialog box. Not a huge deal, most buildings you can visually tell, but it's a bit tough with warehouses and having EDS display that information in the dialog box did save an extra click a few times. Anyways, thanks for this mod and all your contributions. It's nice to see EDS level functionality in an active mod, as EDS has not been updated in some time. Plus your graphical configuration options for the building is certainly more intuitive than the building ID used by EDS.