[0.16.x] Belt performance characteristics
Posted: Sun Dec 31, 2017 12:41 am
I have been experimenting with new builds in 0.16, specifically what sort of builds consume the lowest cpu cycles per item and I have noticed some strange things with the new belt optimisations that I have not seen mentioned anywhere else.
The first thing I noticed is that belts don't get merged into single sections *sometimes* (the example uses underground belt as that is where I first noticed it, but it also appears elsewhere as well). This *sometimes* has to do with the items that are present on the belts & the order you build the belts in, if you have inserters built before or after, if they are powered and if they can drop items off. Building the same setup without anything on any of the belts we get the *expected* (what I expect anyway) results. Is anyone aware why they would not connect? Is it a sub-frame optimisation: it's busy moving things so don't merge them together, or is it an overall optimisation: Merging them together will double the amount of inserter activity so leave them separate so the second section isn't as active as much?
The other thing of note is that if either of the lanes are active (Items moving & debug colour being blue, not white), then ALL inserters that pick up from the belt section never go into an inactive state. This may or may not be an issue as they could be all in the same data structure (inserters and belts that is) so that they could count as one "active entity" WRT performance. Further testing will show if this is the case.
Unfortunately all this leads me to believe that bots are still more UPS efficient for builds.![Sad :(](./images/smilies/icon_e_sad.gif)
The first thing I noticed is that belts don't get merged into single sections *sometimes* (the example uses underground belt as that is where I first noticed it, but it also appears elsewhere as well). This *sometimes* has to do with the items that are present on the belts & the order you build the belts in, if you have inserters built before or after, if they are powered and if they can drop items off. Building the same setup without anything on any of the belts we get the *expected* (what I expect anyway) results. Is anyone aware why they would not connect? Is it a sub-frame optimisation: it's busy moving things so don't merge them together, or is it an overall optimisation: Merging them together will double the amount of inserter activity so leave them separate so the second section isn't as active as much?
The other thing of note is that if either of the lanes are active (Items moving & debug colour being blue, not white), then ALL inserters that pick up from the belt section never go into an inactive state. This may or may not be an issue as they could be all in the same data structure (inserters and belts that is) so that they could count as one "active entity" WRT performance. Further testing will show if this is the case.
Unfortunately all this leads me to believe that bots are still more UPS efficient for builds.
![Sad :(](./images/smilies/icon_e_sad.gif)