The most UPS efficient mining & smelting blueprint
Posted: Tue Nov 07, 2017 9:30 am
There are many ways to improve CPU performance in your mining and smelting setups. These include:
Blueprint #1
3 furnaces, 6 beacons per furnace, long-handed inserters.
Furnace speed: 10
Inserter items per stack: 2.476
Note: Uses 33% less train stops than the other blueprints
Blueprint #2
2 furnaces, 8 beacons per furnace, long-handed inserters.
Furnace speed: 12
Inserter items per stack: 2.971
Note: The inserter runs at 99% capacity, which hurts its ability to empty a buffer when the train moves.
Blueprint #3
2 furnaces, 7 beacons per furnace, stack inserters.
Furnace speed: 11
Inserter items per stack: 1.362
Note: I don't expect this blueprint to win, but it is a useful comparison for the next two.
Blueprint #4
2 furnaces, 7 beacons per furnace, circuit controlled stack inserters.
Furnace speed: 11
Inserter items per stack: 11.995
Note: The inserters are activated once every 229 ticks.
Blueprint #5
2 furnaces, 7 beacons per furnace, circuit controlled stack filter inserters.
Furnace speed: 11
Inserter items per stack: 11.995
Note: The inserters are activated once every 229 ticks.
Testing method
I built a test scenario with the goal of producing 2640 copper plates per second. Output is to chests instead of trains, to avoid train performace affecting results. Every 10000 ticks a script empties the chests.
Test map downloads: mining-performance-1.zip mining-performance-2.zip mining-performance-3.zip mining-performance-4.zip mining-performance-5.zip
I benchmarked each map using the command:
Results
Blueprint #1
Performed 100000 updates in 44856.280 ms
Performed 100000 updates in 45480.041 ms
Performed 100000 updates in 44954.518 ms
Performed 100000 updates in 45176.745 ms
Blueprint #2
Performed 100000 updates in 42370.623 ms
Performed 100000 updates in 43612.927 ms
Performed 100000 updates in 41403.191 ms
Performed 100000 updates in 42735.350 ms
Blueprint #3
Performed 100000 updates in 46345.014 ms
Performed 100000 updates in 46153.803 ms
Performed 100000 updates in 45539.896 ms
Performed 100000 updates in 46446.667 ms
Blueprint #4
Performed 100000 updates in 31330.315 ms
Performed 100000 updates in 30590.865 ms
Performed 100000 updates in 30464.489 ms
Performed 100000 updates in 30281.557 ms
Blueprint #5
Performed 100000 updates in 32769.336 ms
Performed 100000 updates in 32819.492 ms
Performed 100000 updates in 32577.326 ms
Performed 100000 updates in 32445.764 ms
Conclusion
Blueprint #4 is the clear winner!
Blueprint #3 is the worst, the inefficient inserters drag it down even though it has faster furnaces than Blueprint #1.
"Enable/disable" circuit condition is slightly faster than "Set filters".
- Mining drills output directly into furnaces.
- Furnaces output directly into cargo wagons.
- Very large, very rich resources.
- High levels of Mining productivity technology.
- Use as many beacons as possible.
Blueprint #1
3 furnaces, 6 beacons per furnace, long-handed inserters.
Furnace speed: 10
Inserter items per stack: 2.476
Note: Uses 33% less train stops than the other blueprints
Blueprint #2
2 furnaces, 8 beacons per furnace, long-handed inserters.
Furnace speed: 12
Inserter items per stack: 2.971
Note: The inserter runs at 99% capacity, which hurts its ability to empty a buffer when the train moves.
Blueprint #3
2 furnaces, 7 beacons per furnace, stack inserters.
Furnace speed: 11
Inserter items per stack: 1.362
Note: I don't expect this blueprint to win, but it is a useful comparison for the next two.
Blueprint #4
2 furnaces, 7 beacons per furnace, circuit controlled stack inserters.
Furnace speed: 11
Inserter items per stack: 11.995
Note: The inserters are activated once every 229 ticks.
Blueprint #5
2 furnaces, 7 beacons per furnace, circuit controlled stack filter inserters.
Furnace speed: 11
Inserter items per stack: 11.995
Note: The inserters are activated once every 229 ticks.
Testing method
I built a test scenario with the goal of producing 2640 copper plates per second. Output is to chests instead of trains, to avoid train performace affecting results. Every 10000 ticks a script empties the chests.
Test map downloads: mining-performance-1.zip mining-performance-2.zip mining-performance-3.zip mining-performance-4.zip mining-performance-5.zip
I benchmarked each map using the command:
Code: Select all
C:\Progra~1\Factorio\bin\x64\factorio.exe --benchmark 'C:\Users\DaveMcW\AppData\Roaming\Factorio\saves\mining-performance-1.zip' --benchmark-ticks 100000
Blueprint #1
Performed 100000 updates in 44856.280 ms
Performed 100000 updates in 45480.041 ms
Performed 100000 updates in 44954.518 ms
Performed 100000 updates in 45176.745 ms
Blueprint #2
Performed 100000 updates in 42370.623 ms
Performed 100000 updates in 43612.927 ms
Performed 100000 updates in 41403.191 ms
Performed 100000 updates in 42735.350 ms
Blueprint #3
Performed 100000 updates in 46345.014 ms
Performed 100000 updates in 46153.803 ms
Performed 100000 updates in 45539.896 ms
Performed 100000 updates in 46446.667 ms
Blueprint #4
Performed 100000 updates in 31330.315 ms
Performed 100000 updates in 30590.865 ms
Performed 100000 updates in 30464.489 ms
Performed 100000 updates in 30281.557 ms
Blueprint #5
Performed 100000 updates in 32769.336 ms
Performed 100000 updates in 32819.492 ms
Performed 100000 updates in 32577.326 ms
Performed 100000 updates in 32445.764 ms
Conclusion
Blueprint #4 is the clear winner!
Blueprint
This blueprint includes my 229-tick timer, but you should reduce the cycle time a bit so it can empty the buffer when the train moves. Also you only need one timer per map.Blueprint #3 is the worst, the inefficient inserters drag it down even though it has faster furnaces than Blueprint #1.
"Enable/disable" circuit condition is slightly faster than "Set filters".