In other languages: Deutsch Français Italiano 日本語 한국어 Polski Русский Українська 简体中文

Inserters: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
Swan (talk | contribs)
m word
 
(59 intermediate revisions by 17 users not shown)
Line 5: Line 5:


== Types of inserters ==
== Types of inserters ==
{| class="wikitable"
{| class="wikitable"
| {{Imagelink|Burner inserter}} || The only [[fuel]]-powered inserter.
| {{Imagelink|Burner inserter}} || The only [[fuel]]-powered inserter, with the slowest speed.
|-
|-
| {{Imagelink|Inserter}} || The standard electrical inserter.
| {{Imagelink|Inserter}} || The standard electrical inserter.
|-
|-
| {{Imagelink|Long handed inserter}} || Capable of inserting and removing items from a greater distance.
| {{Imagelink|Long-handed inserter}} || Capable of inserting and removing items from a greater distance.
|-
|-
| {{Imagelink|Fast inserter}} || Much faster than the inserter.
| {{Imagelink|Fast inserter}} || Much faster than the inserter.
|-
|-
| {{Imagelink|Filter inserter}} || Variant of the fast inserter that can filter items by type.
| {{Imagelink|Bulk inserter}} || As fast as the fast inserter, but can move many more items at the same time at once.  
|-
| {{Imagelink|Stack inserter}} || As fast as the fast inserter but can move many more items at the same time.
|-
| {{imagelink|Stack filter inserter}} || Variant of the stack inserter that can filter items by type.
|-
|-
| {{Imagelink|Stack inserter|space-age=yes}} || As fast as the bulk inserter, but can stack items on a belt.
|}
|}


==Mechanics==
== Mechanics ==
Inserters '''will''':
Inserters '''will''':
* Pick up items off the ground, off of a [[Transport belts|Transport belt]], or from any object that has storage space, including [[Chests|chests]], [[furnace]]s and [[assembling machine]]s.
* Pick up items off the ground, off of a [[Transport belts|transport belt]], or from any object that has storage space, such as [[Chests|chests]], [[furnace]]s [[assembling machine]]s or [[vehicle]]s.
* Place the item onto the ground, onto a transport belt, or into any object that has storage space.
* Place the item onto the ground, onto a transport belt, or into any object that has storage space.
* Run at slower speeds when starved for energy.
* Run at slower speeds when starved for energy.
* Pick up as many items as their [[inserter capacity bonus (research)|stack size]] allows at once, if they do not have to wait too long to pick them up.
* Pick up as many items as their [[inserter capacity bonus (research)|stack size]] allows at once, if they do not have to wait too long to pick them up.
* Pick up items and drop them into the void of space or lava, permanently destroying them. This is useful for getting rid of unwanted items.


Inserters '''will not''':
Inserters '''will not''':
* Pick up any items that can not be inserted into the adjacent entity.
* Pick up any items that cannot be inserted into the adjacent entity.
* Pick up any items if the adjacent entity is a [[ghost]].
* Pick up items to place into an entity with a full inventory.
* Pick up items to place into an entity with a full inventory.
* Place more than one item at a time onto the same ground tile.
* Place more than one item at a time onto the same ground tile.
* Place items into an entity that can not hold them, for example due to [[Stack#Filtered_stacks|filtered]] or [[Stack#Stack_limitation|limited slots]].
* Place items into an entity that cannot hold them, for example due to [[Stack#Filtered_stacks|filtered]] or [[Stack#Stack_limitation|limited slots]].
* Fill up the entire target inventory of [[boiler]]s, [[nuclear reactor]]s, [[Category:Producers|production building]]s, [[furnace]]s, and [[turret]]s.
* Fill up the entire target inventory of [[boiler]]s, [[nuclear reactor]]s, [[:Category:Producers|production building]]s, [[furnace]]s and [[turret]]s.


If two or more inserters are picking up from the same tile, the inserter who can grab the items the fastest will grab them first. Besides faster inserters, this favors inserters taking from the inner lane of a transport belt.
If two or more inserters are picking up from the same tile, the inserter who can grab the items the fastest will grab them first. Besides faster inserters, this favors inserters taking from the inner lane of a transport belt.
Line 51: Line 49:
| [[Artillery turret]]s || [[Artillery shell]]s || align="center" | 5
| [[Artillery turret]]s || [[Artillery shell]]s || align="center" | 5
|-
|-
| [[Assembling machine]]s, [[furnace]]s, [[centrifuge]]s, [[chemical plant]]s, and [[Oil refinery|oil refineries]]|| Items needed for the recipe || The ingredients for 1 craft additionally to ingredients for the number of crafts that can complete during one full inserter swing; but at least the ingredients for 2 crafts and at most the ingredients for 100 crafts.
| [[Assembling machine]]s, [[furnace]]s, [[centrifuge]]s, [[chemical plant]]s, and [[Oil refinery|oil refineries]]|| Items needed for the recipe || The ingredients for 1 craft in addition to the ingredients for the number of crafts that can be completed during one full inserter swing; but at least the ingredients for 2 crafts and at most the ingredients for 100 crafts.[https://forums.factorio.com/viewtopic.php?p=309796#p309796]
|-
|-
| [[Lab]]s || [[Science pack]]s || Double the number of science packs needed for one research unit.
| [[Lab]]s || [[Science pack]]s || The number of science packs needed for one research unit in addition to the science packs for the number of research units that can be completed during one full inserter swing; but at least the ingredients for 2 research units and at most the ingredients for 100 research units.
|}
|}


Line 65: Line 63:
|-
|-
| style="width:320px;" | Inserters place the item on the furthest lane. If a belt is in the same orientation as the inserter, the item will be placed on the right-hand lane, from the belt's perspective. In curves the inserter always places on the far side.
| style="width:320px;" | Inserters place the item on the furthest lane. If a belt is in the same orientation as the inserter, the item will be placed on the right-hand lane, from the belt's perspective. In curves the inserter always places on the far side.
| style="width:320px;" | Inserters '''prefer''' taking items from the nearest lane. If the nearest lane is empty, the inserter will take from the far lane. If a belt is in the same orientation as the inserter, the inserter '''prefers''' taking from the left lane, from the belt's perspective. If the left lane is empty it will take from the right lane.
| style="width:320px;" | If the belt is perpendicular to the inserter, inserters '''prefer''' taking items from the nearest lane. If the nearest lane is empty, the inserter will take from the far lane. If the belt is the same/opposite orientation of the inserter or a curve, the inserter '''prefers''' taking from the left lane, from the belt's perspective. If the left lane is empty it will take from the right lane.
|}
|}


Line 76: Line 74:


== Power usage ==
== Power usage ==
* Electric inserters drain energy even when they are not moving, as idle power
Inserter power draw is determined by several factors.
* The amount of energy used is the same for every turn
 
* The [[burner inserter]] does not drain energy when idle, but uses more energy when it is active.
Firstly like most machines, all of the inserters (with the exception of the burner) have drain. Drain is the energy cost of existence, and is expended constantly as long as the inserter exists on the power grid, regardless of activity or lack thereof.
 
Inserters also have a cost associated with movement. This cost is applied separately and cumulatively for rotational motion as well as extension/retraction.
 
Lastly, inserters exhibit a power spike when initializing an action or movement. This can be referred to as "item spike" because it is typically observed directly upon picking up an item. This is because after receiving an item, it will initialize its next action, such as unloading the item. We know this spike is a result of the initialization of a new command for the inserter, and not directly as a result of the item, because of behavior that will be covered later. In other words, the spike occurs when switching between loading and unloading behavior.
 
Here is power graph of a red inserter receiving power for the very first time:
 
[[File:Red Power Pulse.png|frameless|upright 3]]
 
Notice there is a spike as it boots, followed by a movement line. This movement line is the cost of rotation + the cost of extension, as inserters start scrunched up when first built, and then the arm extends. This specific behavior is only exhibited by newly built inserters receiving power for the first time, so we can largely ignore the behavior on the left. It is worth remembering for when devising a testing setup though, as this does need to be isolated out of the final results for accuracy. It will also become relevant again further down.
 
Continuing on, we have the power signature of a single item being transferred chest-to-chest. First there is a spike when retrieving the item. Even though the spike is flattened, implying a duration, upon closer inspection it does appear to only be a single tick duration of spike. It is not clear from the testing why these peaks are flattened while the initial is not. The arm then begins rotating, and its cost of rotation is shown by the valley. It then drops off the item, resulting in a second spike, and proceeds to swing back towards the input. This completes one full cycle.
 
Notice how when not active, the consumption remains above 0. This is the drain we discussed earlier, which in this example is 400W.
 
Burner Inserters, despite not using electricity, also have the same power consumption characteristics as the rest of the inserters (excluding drain). Upon accepting fuel they will replenish something resembling an internal battery, and draw from it in the same manner other inserters draw from the power grid, consumption spikes and all. The exact behavior of burners is a bit quirky due to how this works, and that can be found in more detail on their dedicated page [information not yet added].
 
[[File:Inserter Testing Setup.png|thumb|Inserter Testing Setup]]
 
=== Energy Costs ===
 
Using the following equation and empirical testing, we derive the values below. Note that values for burner inserters are derived with coal as a baseline. The fuel density used in the burner actually affects its measured values due to some quirks with how they operate, with higher fuel densities leading to improved performance. More detailed information for all inserters is available in the original forum post here ''https://forums.factorio.com/124635'', where the entirety of the calculations is shown and documented in detail for those interested.
 
((Max Power Consumption - Drain) * (2 /seconds per tick)) + ((Power Consumption of Motion - Drain) * ((Full Rotation Constant / Rotation Speed) - (2 / seconds per tick))) = kJ per Inserter Rotation
 
'''Cost of rotational movement in kW'''
 
These values are isolated from drain. Values with ''~'' are rounded


== Inserter speed ==
{| class="wikitable"
|-
! Burner !! Yellow!! Red!! Blue !! Green
|-
| ~51.362 || ~5.437 || ~7.875 || ~16.741 || ~47.957
|-
|}
 
'''Cost per transfer cycle in kJ'''
 
These values are isolated from drain. Values with ''~'' are rounded.


{| class="wikitable"
{| class="wikitable"
! Type
|-
! Rotation-speed (turns per [[Game-tick]])<br/>Extension-speed ([[Tile]]s per Tick)
! Burner !! Yellow!! Red!! Blue !! Green
! Turns per [[Game-second]]<br/>Tiles per Game-second
|-
! Game-second per full turn<br/>Game-seconds per Tile
| ~68.147 || ~6.652 || ~7 || ~8.115 || ~23.184
! Ticks per full turn<br/>Ticks per Tile
|- align="center"
| align="left"| {{Imagelink|Burner inserter|Burner inserter}} || 0.01<br/>0.0214 || 0.59<br/>1.284 || 1.7<br/>0.833 || 102<br/>76
|- align="center"
| align="left"| {{Imagelink|Inserter|Inserter}} || 0.014<br/>0.03 || 0.83<br/>1.8 || 1.2<br/>0.56 || 72<br/>54
|- align="center"
| align="left"| {{Imagelink|Long handed inserter|Long handed inserter}} || 0.02<br/>0.0457 || 1.15<br/>2.742 || 0.867<br/>0.416 || 52<br/>36
|- align="center"
| align="left"| {{Imagelink|Fast inserter|Fast inserter}}<br/>{{Imagelink|Stack inserter|Stack inserter}}<br/>{{imagelink|Stack_filter_inserter|Stack filter inserter}} || 0.04<br/>0.07 || 2.31<br/>4.2 || 0.433<br/>0.238 || 26<br/>24
|-
|-
|}
|}


'''Note:''' These numbers come directly from the [https://github.com/wube/factorio-data/tree/master/base/prototypes/entity factorio-data github repository].
=== Inserter Efficiency ===
 
The above data can be used to compare inserter efficiency directly. Remember that the transfer cycle cost remains the same regardless of how many items are moved (with one exception that will be covered later). This means that Green Inserters with their larger stack size can outperform other inserters despite their higher transfer cost, since they can achieve a lower cost per item. Here are some graphs of chest-to-chest data showing the efficiency of different inserters at differing stack sizes. Because the other inserters maintain a proportional relationship (as in an identical stack size) these graphs will primarily focus on highlighting the Green Inserter.
 
[[File:Inserter Efficiency Graph (No Capacity Bonus).png|frameless|upright 2]]
[[File:Inserter Efficiency Graph (Capacity Bonus 4).png|frameless|upright 2]]
[[File:Inserter Efficiency Graph (Capacity Bonus 5) .png|frameless|upright 2]]
[[File:Inserter Efficiency Graph (Capacity Bonus 6) (Zoomed).png|frameless|upright 2]]
[[File:Inserter Efficiency Graph (Capacity Bonus 7).png|frameless|upright 2]]
 
 
Because the Burner Inserter doesn't have drain, its efficiency can only be appreciated in extremely low throughput situations. Thus we use this dedicated graph:
 
[[File:Inserter Efficiency Graph (Burner Version).png|frameless|upright 3]]


===Rotation Speed===
Because of how extremely low the throughput is, generating additional graphs for higher stack sizes is unnecessary. At higher stack sizes simply divide the reference time by the stack size.  
Convention: 2π rad = 100% of a circle rotation = '''1 turn''' (or one full rotation).


Note: an Inserter doesn't always need to make full turns. When grabbing from a transport belt, it is slightly faster when grabbing items from the closest lane.
=== Belt Differences===
Up until now all data was regarding chest-to-chest use cases, due to their sterile and consistent nature. The introduction of belts creates special conditions that require consideration. Here is a power chart from the game for reference:


===Extension Speed===
[[File:Yellow Inserter Belt-to-Belt Power Signature.png|frameless|upright 3]]
The extension-speed is normally not visible (only when compared to other inserters), but there are measurable speed differences when taking - for example - from the near or the far side of a belt. Also Some mods can alter the pickup and drop locations of inserters, making this stat more relevant.


==Inserter Throughput==
The Yellow Inserter above is doing a belt-to-belt transfer, and it has a stack bonus.


The following is based on experimental from both [https://docs.google.com/spreadsheets/d/1OzlP2v6P1OGxK1xCFr77aqVfNNEaEKHlA89aSVmqBGw/edit?usp=sharing 0.15] and [https://docs.google.com/spreadsheets/d/1i9EFqTfBze69nmnRwbzpEmILZKSXO__KF6ohv1LWbe8/edit?usp=sharing 0.16].
The erratic section of the graph is the loading process. We can see the behavior is irregular as the inserter does not wait for the item, but rather fishes around for them. The exact behavior here is still being studied, and due to its dependence on stack size and belt speed it is very difficult to give any firm answers regarding how much power this actually uses as a quantifiable generalization. Likely a set of tables would need to be generated with every possible combination as a reference, but such data does not currently exist. We can see the movement section seems to as an average indicate the combined cost of rotation and extension/retraction (this is not covered here as detailed data does not exist, but the games code suggests these two costs are identical), which we saw in our original power pulse earlier. This would make sense as the inserter is moving inwards and outwards as well as wiggling side to side as it fishes for items, but this isn't confirmed, and could be inapplicable in faster use cases. To add to the hypothesis, we can assume that faster belts increase inserter efficiency by shortening the loading time. But that's all speculative until more data is collected. What we can confirm is at the end of the loading cycle we have our distinctive power spike, which is indicative the inserter is now switching to unloading.


Inserter throughput between chests and other [[stack|stacks]] is a simple function of stack size and arm speed:
Looking at the unloading section, we can see the inserter swings around normally, but then there is this dip that doesn't exist in the chest to chest behavior. This is the inserter waiting at the belt to drop off all its items. During this waiting, it uses no power aside from its drain. Once all the items are delivered, it spikes, indicating it is going back to its loading behavior.


<blockquote>
What this means in practice is whenever you are loading from a chest, regardless of whether you are delivering to a chest or belt, the efficiency relationship remains the same. The additional duration of drain has no bearing on the energy efficiency. When loading from a belt, we can see there is additional energy consumption for stack sizes greater than 1. Currently there is not much that can advised regarding how to compensate for this, so the best advice is to just pretend it doesn't exist for now.
''n'' = Stack size


''t_arm'' = Time to move the arm back and forth
'''Important:''' The above efficiency graphs only apply when loading from a chest. When loading from a belt, until a more accurate dedicated data set is provided, it is advised to reference the initial no capacity bonus version of the graph for all decisions. With an inserter stack size of 1, the efficiency relationship between chests and belts is identical.


Time per item = ''t_arm'' / ''n''
'''Regarding Quality:''' Quality inserters receive a linear speed boost for each level of quality, with a corresponding power cost increase. What this means is that the quality level of an inserter has no impact on its energy efficiency


Throughput (items/sec) = 1 / Time per item = ''n'' / ''t_arm''
''More data regarding inserters feeding from belts, as well as more detailed data regarding burner inserter power consumption is still needed. Please reach out via the forum if you would like to help or contribute in collecting this data, either here https://forums.factorio.com/124635 or here https://forums.factorio.com/125710''
</blockquote>


When moving items to or from belts, the time to pick up or put down items also becomes a factor:
== Inserter speed ==
[[File:all_inserter_speeds.gif|frame|right|Animation showing all inserter speeds at once.]]
{| class="wikitable"
! Type
! Rotation-speed (turns per [[Time#Ticks|tick]])<br/>Extension-speed ([[Map_structure#Tile|Tiles]] per Tick)
! Turns per [[Time#Seconds|Game-second]]
! Game-second per full turn
! Ticks per full turn
|- align="center"
| align="left"| {{Imagelink|Burner inserter}} || 0.01<br/>0.0214 || 0.60 || 1.667 || 100
|- align="center"
| align="left"| {{Imagelink|Inserter}} || 0.014<br/>0.03 || 0.83 || 1.2 || 72
|- align="center"
| align="left"| {{Imagelink|Long-handed inserter}} || 0.02<br/>0.0457 || 1.2 || 0.833 || 50
|- align="center"
| align="left"| {{Imagelink|Fast inserter}}<br/>{{Imagelink|Bulk inserter}} || 0.04<br/>0.07 || 2.31 || 0.433 || 26
|}


<blockquote>
'''Note:''' These numbers come directly from the [https://github.com/wube/factorio-data/tree/master/base/prototypes/entity factorio-data github repository].
''t_item'' = Time to pick up or put down one item


''t_cycle'' = Time to complete an arm cycle = ''t_arm'' + ''n''*''t_item''
=== Rotation Speed ===
Convention: 2π rad = 100% of a circle rotation = '''1 turn''' (or one full rotation).


Time per item = ''t_cycle'' / ''n'' = ''t_item'' + ''t_arm'' / ''n''
Note: an Inserter doesn't always need to make full turns. When grabbing from a transport belt, it is slightly faster when grabbing items from the closest lane.


Throughput (items/sec) = 1 / (''t_item'' + ''t_arm'' / ''n'')
Note: If the rotation speed of an inserter would result in an odd number of ticks per full turn, the actual number of ticks per full turn for this inserter is the next higher even number. The reason for this is that the inserter needs to do two half turns to pick and drop an item. This takes a certain number of ticks two times, therefore the number of ticks for the full turn is always an even number. Example: The Fast inserter's rotation speed of 864°/s or 0.04 turns per tick would result in 25 ticks per full turn, but the inserter cannot do a half turn in "12.5 ticks", so it actually takes 2*13 = 26 ticks per full turn.
</blockquote>


'''Note:''' [https://forums.factorio.com/viewtopic.php?t=9141#p280529 Before 0.15.14], inserters were 1-4% less efficient when moving items from south to north.
=== Extension Speed ===
The extension-speed is normally not visible (only when compared to other inserters), but there are measurable speed differences when taking - for example - from the near or the far side of a belt. Also Some mods can alter the pickup and drop locations of inserters, making this stat more relevant.


===Chest to chest===
== Inserter Throughput ==


'''Note:''' Experimental data from 0.16
=== Chest to chest ===
'''Note:''' Experimental data from 2.0.26, recorded in this doc [https://docs.google.com/spreadsheets/d/1L8Td5o6TAicGi-TPwzh4lz2YiH0n7Jkpp3E8FxNpnAs/edit?usp=sharing]. Chest to chest transfer transfers the entire hand size during a single tick, so most of the time is spent during the swing to and from.


{| class="wikitable"
{| class="wikitable"
! rowspan=2 | Type
! rowspan=2 | Type
! rowspan=2 | Arm cycles per second
! rowspan=2 | Arm cycles per second (ticks per cycle)
! colspan=6 | Items/second at [[inserter capacity bonus (research)|capacity bonus]] level (stack size)
! colspan=8 | Items/second at [[inserter capacity bonus (research)|capacity bonus]] level (stack size)
|-
|-
! colspan=2 | No capacity bonus
! colspan=2 | No capacity bonus
! colspan=2 | Capacity bonus 2
! colspan=2 | Capacity bonus 2
! colspan=2 | Capacity bonus 7
! colspan=2 | Capacity bonus 7
! colspan=2 | Transport belt stacking {{SA}}
|- align="center"
| align="left"| {{Imagelink|Burner inserter}} || {{Quality | 0.79 (76 ticks) | 1.03 (58 ticks) | 1.25 (48 ticks) | 1.5 (40 ticks) | 2 (30 ticks) }}
|| {{ Quality | 0.79 |1.03 |1.25|1.5 |2 }}
|| (1)
|| {{ Quality | 1.58 |2.07 |2.5|3 |4 }}
|| (2)
|| {{ Quality | 2.37 |3.10 |3.75|4.5 |6 }}
|| (3)
|| {{ Quality | 3.16 |4.14 |5|6 |8 }}
|| (4)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Burner inserter|Burner inserter}} || 0.59 || 0.59 || (1) || 1.18 || (2) || 1.76 || (3)
| align="left"| {{Imagelink|Inserter}} || {{Quality | 0.86 (70 ticks) | 1.03 (58 ticks) | 1.36 (44 ticks) | 1.67 (36 ticks) | 2.14 (28 ticks) }}
|| {{ Quality | 0.86 |1.11 |1.36|1.67 |2.14 }}
|| (1)
|| {{ Quality | 1.71 |2.22 |2.73|3.33 |4.29 }}
|| (2)
|| {{ Quality | 2.57 |3.33 |4.09|5 |6.43 }}
|| (3)
|| {{ Quality | 3.43 |4.44 |5.45|6.67 |8.57 }}
|| (4)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Inserter|Inserter}} || 0.83 || 0.83 || (1) || 1.67 || (2) || 2.50 || (3)
| align="left"| {{Imagelink|Long-handed inserter}} || {{Quality | 1.2 (50 ticks) | 1.58 (38 ticks) | 2 (30 ticks) | 2.31 (26 ticks) | 3.33 (18 ticks) }}
|| {{ Quality | 1.2 |1.58 |2|2.31 |3.33 }}
|| (1)
|| {{ Quality | 2.4 |3.16 |4|4.62 |6.67 }}
|| (2)
|| {{ Quality | 3.6 |4.74 |6|6.92 |10 }}
|| (3)
|| {{ Quality | 4.8 |6.32 |8|9.23 |13.33 }}
|| (4)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Long handed inserter|Long handed inserter}} || 1.15 || 1.15 || (1) || 2.31 || (2) || 3.46 || (3)
| align="left"| {{Imagelink|Fast inserter}} || {{Quality | 2.5 (24 ticks) | 3.33 (18 ticks) | 4.29 (14 ticks) | 5 (12 ticks) | 7.5 (8 ticks) }}
|| {{ Quality | 2.5 |3.33 | 4.29 | 5 | 7.5 }}
|| (1)
|| {{ Quality | 5 |6.67 | 8.57 | 10 | 15 }}
|| (2)
|| {{ Quality | 7.5 |10 |12.86|15 |22.5 }}
|| (3)
|| {{ Quality | 10 |13.33 |17.14|20 |30 }}
|| (4)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Fast inserter|Fast inserter}}<br/>{{Imagelink|Filter inserter|Filter inserter}} || 2.31 || 2.31 || (1) || 4.62 || (2) || 6.92 || (3)
| align="left"| {{Imagelink|Bulk inserter}} || {{Quality | 2.5 (24 ticks) | 3.33 (18 ticks) | 4.29 (14 ticks) | 5 (12 ticks) | 7.5 (8 ticks) }}
|| {{ Quality | 5 |6.673 | 8.57 | 10 | 15 }}
|| (2)
|| {{ Quality | 10 |13.33 |17.14|20 |30 }}
|| (4)
|| {{ Quality | 30 |40 |51.43|60 |90 }}
|| (12)
|| {{ Quality | 30 |40 |51.43|60 |90 }}
|| (12)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Stack inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || 2.31 || 4.62 || (2) || 9.23 || (4) || 27.69 || (12)
| align="left"| {{Imagelink|Stack inserter}}{{SA}} || {{Quality | 2.5 (24 ticks) | 3.33 (18 ticks) | 4.29 (14 ticks) | 5 (12 ticks) | 7.5 (8 ticks) }}
|-
|| {{ Quality | 15 |20 | 25.71 | 30 | 45 }}
|| (6)
|| {{ Quality | 20 |26.67 | 34.29 | 40 | 60 }}
|| (8)
|| {{ Quality | 40 | 53.33 | 68.57 | 80 | 120 }}
|| (16)
|| {{ Quality | 40 | 53.33 | 68.57 | 80 | 120 }}
|| (16)
|}
|}


 
=== Chest to belt ===
===Chest to belt===
 
Throughput going from chest to belt depends on how full the belt is. An inserter will not put down an item on a belt that have items back-to-back (aka full compression) - it waits until there is a gap. However, if the gap is narrower than the item then the items upstream on the belt will stop to make room for the item being inserted. The direction of the belt compared to the inserter does not matter however.
Throughput going from chest to belt depends on how full the belt is. An inserter will not put down an item on a belt that have items back-to-back (aka full compression) - it waits until there is a gap. However, if the gap is narrower than the item then the items upstream on the belt will stop to make room for the item being inserted. The direction of the belt compared to the inserter does not matter however.


In these measurements inserters move items onto an empty belt. Values are given for the stack sizes at three different [[inserter capacity bonus (research)|capacity bonus]] levels.
In these measurements inserters move items onto an empty belt. Values are given for the stack sizes at three different [[inserter capacity bonus (research)|capacity bonus]] levels.


'''Note:''' Experimental data from 0.16
'''Note:''' Experimental data from 1.1


{| class="wikitable"
{| class="wikitable"
Line 181: Line 283:
! colspan=4 | Capacity bonus 7
! colspan=4 | Capacity bonus 7
|-
|-
! [[File:Transport belt.png|link=Transport belt]] || [[File:Fast transport belt.png|link=Fast transport belt]] || [[File:Express transport belt.png|link=Express transport belt]] ||
! [[File:Transport belt.png|link=Transport belt|32px]] || [[File:Fast transport belt.png|link=Fast transport belt|32px]] || [[File:Express transport belt.png|link=Express transport belt|32px]] ||
! [[File:Transport belt.png|link=Transport belt]] || [[File:Fast transport belt.png|link=Fast transport belt]] || [[File:Express transport belt.png|link=Express transport belt]] ||
! [[File:Transport belt.png|link=Transport belt|32px]] || [[File:Fast transport belt.png|link=Fast transport belt|32px]] || [[File:Express transport belt.png|link=Express transport belt|32px]] ||
! [[File:Transport belt.png|link=Transport belt]] || [[File:Fast transport belt.png|link=Fast transport belt]] || [[File:Express transport belt.png|link=Express transport belt]] ||
! [[File:Transport belt.png|link=Transport belt|32px]] || [[File:Fast transport belt.png|link=Fast transport belt|32px]] || [[File:Express transport belt.png|link=Express transport belt|32px]] ||
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Burner inserter|Burner inserter}} || 0.59 || 0.59 || 0.59 || (1) || 1.17 || 1.17 || 1.17 || (2) || 1.62 || 1.70 || 1.71 || (3)
| align="left"| {{Imagelink|Burner inserter}} || 0.60 || 0.60 || 0.60 || (1) || 1.19 || 1.19 || 1.19 || (2) || 1.67 || 1.73 || 1.76 || (3)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Inserter|Inserter}} || 0.83 || 0.83 || 0.83 || (1) || 1.64 || 1.64 || 1.64 || (2) || 2.22 || 2.37 || 2.40 || (3)
| align="left"| {{Imagelink|Inserter}} || 0.83 || 0.83 || 0.83 || (1) || 1.64 || 1.64 || 1.64 || (2) || 2.25 || 2.37 || 2.43 || (3)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Long handed inserter|Long handed inserter}} || 1.15 || 1.15 || 1.15 || (1) || 2.26 || 2.26 || 2.26 || (2) || 2.95 || 3.21 || 3.27 || (3)
| align="left"| {{Imagelink|Long-handed inserter}} || 1.20 || 1.20 || 1.20 || (1) || 2.35 || 2.35 || 2.35 || (2) || 3.10 || 3.33 || 3.46 || (3)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Fast inserter|Fast inserter}}<br/>{{Imagelink|Filter inserter|Filter inserter}} || 2.31 || 2.31 || 2.31 || (1) || 4.44 || 4.44 || 4.44 || (2) || 5.14 || 6.00 || 6.21 || (3)
| align="left"| {{Imagelink|Fast inserter}} || 2.31 || 2.31 || 2.31 || (1) || 4.44 || 4.44 || 4.44 || (2) || 5.29 || 6.00 || 6.43 || (3)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Stack inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || 4.44 || 4.44 || 4.44 || (2) || 5.45 || 6.86 || 7.50 || (4) || 6.21 || 10.14 || 12.86 || (12)
| align="left"| {{Imagelink|Bulk inserter}} || 4.44 || 4.44 || 4.44 || (2) || 5.71 || 7.06 || 7.74 || (4) || 6.79 || 10.91 || 13.85 || (12)
|-
|-
|}
|}


To calculate the throughput for [[Stack inserter]] and [[Stack filter inserter]] at any capacity level, you can use these linearly fitted factors with the belt/chest throughput formula above:
=== Chest to splitter ===
When an inserter drops items onto the side of a perpendicular splitter, it always is considered to do so on the input side, enabling the splitter to move half of the items to the other belt (assuming that the splitter filter/priority settings allow it to do so and that there is available space on both belts). This allows the inserter to drop its items twice as fast. A fully upgraded stack inserter can drop twelve items onto an express splitter every 38 ticks (18.95 items/second) instead of the usual 52.


'''Note:''' Experimental data from 0.15
[[File:Inserter to splitter comparison.png|621px|thumb|center|By inserting onto the side of a splitter, a fully-upgraded stack inserter can fill 84% of an express belt lane instead of the usual 62%.]]


{| class="wikitable"
[[File:Inserter belt saturation.png|414px|thumb|center|Three stack inserters can saturate an express belt if one of them inserts onto a splitter.]]
! rowspan=2 | Type
 
! colspan=2 | {{Imagelink|Transport belt|Transport belt}}
===Belt to chest (perpendicular)===
! colspan=2 | {{Imagelink|Fast transport belt|Fast transport belt}}
! colspan=2 | {{Imagelink|Express transport belt|Express transport belt}}
|-
! ''t_item'' || ''t_arm''
! ''t_item'' || ''t_arm''
! ''t_item'' || ''t_arm''
|- align="center"
| align="left"| {{Imagelink|Stack inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || 0.142 || 0.292 || 0.073 || 0.360 || 0.049 || 0.384
|-
|}


See the [https://docs.google.com/spreadsheets/d/1OzlP2v6P1OGxK1xCFr77aqVfNNEaEKHlA89aSVmqBGw/edit?usp=sharing source spreadsheet] for the corresponding factors for the other inserter types. Their errors are generally well below 1%.
'''Note:''' The following is based on experimental data from [https://docs.google.com/spreadsheets/d/1Q4hxL69qrK3qeEKU8aDkuwM3gJy6I2dJ4FYSs-FQUpI/edit?usp=sharing 1.1].   
Most of the 1.1 experimental data was gathered using the following circuit blueprint to measure the exact tick difference between inserter swings. A lot of the data on this page (specifically the belt to chest data) relies heavily on the conditions of the setup on which the measurements are done. If your setup differs from the ones tested on this page, you can use the following blueprint to do the measurements yourself.


===Belt to chest===
{{BlueprintString|bp-string=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}}


When picking items from a belt, many more factors come into play besides belt fullness:
When picking items from a belt, many more factors come into play besides belt fullness:
Line 248: Line 342:
! rowspan=2 |
! rowspan=2 |
|-
|-
! [[File:Transport belt.png|link=Transport belt]] || [[File:Fast transport belt.png|link=Fast transport belt]] || [[File:Express transport belt.png|link=Express transport belt]]
! [[File:Transport belt.png|link=Transport belt|32px]] || [[File:Fast transport belt.png|link=Fast transport belt|32px]] || [[File:Express transport belt.png|link=Express transport belt|32px]]
! [[File:Transport belt.png|link=Transport belt]] || [[File:Fast transport belt.png|link=Fast transport belt]] || [[File:Express transport belt.png|link=Express transport belt]]
! [[File:Transport belt.png|link=Transport belt|32px]] || [[File:Fast transport belt.png|link=Fast transport belt|32px]] || [[File:Express transport belt.png|link=Express transport belt|32px]]
! [[File:Transport belt.png|link=Transport belt]] || [[File:Fast transport belt.png|link=Fast transport belt]] || [[File:Express transport belt.png|link=Express transport belt]]
! [[File:Transport belt.png|link=Transport belt|32px]] || [[File:Fast transport belt.png|link=Fast transport belt|32px]] || [[File:Express transport belt.png|link=Express transport belt|32px]]
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Burner inserter|Burner inserter}} || '''0.56''' || '''0.56''' || 0.51 || 0.65 || (1) || '''1.11''' || 1.07 || 0.98 || 1.18 || (2) || 1.43 || '''1.54''' || 1.43 || 1.75 || (3)
| align="left"| {{Imagelink|Burner inserter}} || 0.60 || '''0.65''' || 0.50 || 0.64 || (1) || 1.11 || '''1.20''' || 1.13 || 1.26 || (2) || 1.61 || 1.61 || '''1.65''' || 1.71 /<br/>1.73 /<br/>1.86 * || (3)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Inserter|Inserter}} || '''0.83''' || 0.74 || 0.77 || 0.90 || (1) || '''1.57''' || 1.48 || 1.45 || 1.62 || (2) || 2.00 || '''2.11''' || 2.07 || 2.40 || (3)
| align="left"| {{Imagelink|Inserter}} || '''0.94''' || '''0.94''' || '''0.94''' || 0.88 || (1) || '''1.67''' || '''1.67''' || 1.50 || 1.74 || (2) || '''2.50''' || 2.25 || 2.33 || 2.37 /<br/>2.37 /<br/>2.54 * || (3)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Long handed inserter|Long handed inserter}} || '''1.16''' || 1.11 || 1.11 || 1.22 || (1) || 2.22 || '''2.22''' || 2.11 || 2.31 || (2) || 3.08 || 3.08 || '''3.16''' || 3.33 || (3)
| align="left"| {{Imagelink|Long-handed inserter}} || 1.18 || 1.18 || '''1.25''' || 1.20 || (1) || 2.20 || 2.31 || '''2.40''' || 2.40 || (2) || 3.21 || 3.21 || '''3.46''' || 3.40 || (3)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Fast inserter|Fast inserter}}<br/>{{Imagelink|Filter inserter|Filter inserter}} || '''2.22''' || '''2.22''' || 2.14 || 2.40 || (1) || '''4.17''' || 3.81 || 4.00 || 4.29 || (2) || '''5.71''' || 5.45 || 5.46 || 6.21 || (3)
| align="left"| {{Imagelink|Fast inserter}} || '''2.50''' || 2.31 || '''2.50''' || 2.50 || (1) || 4.50 || 4.29 || '''5.00''' || 4.80 || (2) || '''6.43''' || 6.00 || '''6.43''' || 6.43 || (3)
|- align="center"
|- align="center"
| align="left"| {{Imagelink|Stack inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || '''4.17''' || 3.81 || 4.00 || 4.29 || (2) || '''6.67''' || '''6.67''' || 6.15 || 6.67 /<br/>7.50 /<br/>7.74 * || (4) || 6.67 || 10.00 || '''12.00''' || 6.67 /<br/>11.61 /<br/>13.58 * || (12)
| align="left"| {{Imagelink|Bulk inserter}} || 4.50 || 4.29 || '''5.00''' || 4.80 || (2) || 7.50 || 7.50 || '''8.00''' || 7.50 /<br/>8.57 /<br/>8.28 * || (4) || 7.50 || 11.25 || '''15.00''' || 7.50 /<br/>13.09 /<br/>15.32 * || (12)
|-
|}
|}


Line 271: Line 364:
* When items are queued up the belt type hardly matters, so there is only a single column for that. The exceptions are the stack inserters - for basic transport belts it's the belt that sets the limit for stack sizes above 4, and there is also a notable difference between fast and express belts.
* When items are queued up the belt type hardly matters, so there is only a single column for that. The exceptions are the stack inserters - for basic transport belts it's the belt that sets the limit for stack sizes above 4, and there is also a notable difference between fast and express belts.


Here are linearly fitted factors to get the [[Stack inserter]] and [[Stack filter inserter]] throughput at any capacity level, by using the belt/chest throughput formula above:
=== Belt to Chest (facing inserter) ===
'''Note:''' Experimental data from 1.1


{| class="wikitable"
When picking up items from a belt facing the inserter, there are multiple small differences between different setups. The following throughput tests are performed with [[express transport belt]]s and [[stack inserter]]s with the maximum [[inserter capacity bonus (research)|capacity bonus]].
! rowspan=2 | Type
Each setup in the following picture shows the amount of ticks per cycle of the inserter and the amount of items per second the inserter moves. These measurements are consistent in all orientations of the setup.
! colspan=2 | {{Imagelink|Transport belt|Transport belt}}
! colspan=2 | {{Imagelink|Fast transport belt|Fast transport belt}}
! colspan=2 | {{Imagelink|Express transport belt|Express transport belt}}
|-
! ''t_item'' || ''t_arm''
! ''t_item'' || ''t_arm''
! ''t_item'' || ''t_arm''
|- align="center"
| align="left"| {{Imagelink|Stack inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || 0.045* || 0.403* || 0.063 || 0.387 || 0.049 || 0.416
|-
|}


<nowiki>*)</nowiki> Since the belt is the limiting factor above stack size 4, these figures are only accurate up to that size. More than that and the throughput is fixed at 6.67 items per second.
[[File:Inserter_belt_to_chest_throughput.png|900px]]


==See Also==
== See Also ==
* [[Electric system]]
* [[Electric system]]
* [[Belt transport system]]
* [[Belt transport system]]
* [[Inserter capacity bonus (research)]]: Inserter moves more than an item per turn.
* [[Inserter capacity bonus (research)]]: Inserter moves more than an item per turn.


{{C|Inserters}}
{{C|Logistics{{!}}#Inserters}} {{C|Inserters{{!}}#Inserters}}

Latest revision as of 17:19, 27 January 2025

For the common yellow electrical inserter, see Inserter.

Inserters are devices which are used to move items over short distances. When placed, they have a fixed direction. They can move items from behind and place them in front of them. By doing this, they can move items from one transport belt to another, but also extract items from—and insert items into—machines or storage devices.

Types of inserters

Burner inserter
The only fuel-powered inserter, with the slowest speed.
Inserter
The standard electrical inserter.
Long-handed inserter
Capable of inserting and removing items from a greater distance.
Fast inserter
Much faster than the inserter.
Bulk inserter
As fast as the fast inserter, but can move many more items at the same time at once.
Stack inserter
As fast as the bulk inserter, but can stack items on a belt.

Mechanics

Inserters will:

  • Pick up items off the ground, off of a transport belt, or from any object that has storage space, such as chests, furnaces assembling machines or vehicles.
  • Place the item onto the ground, onto a transport belt, or into any object that has storage space.
  • Run at slower speeds when starved for energy.
  • Pick up as many items as their stack size allows at once, if they do not have to wait too long to pick them up.
  • Pick up items and drop them into the void of space or lava, permanently destroying them. This is useful for getting rid of unwanted items.

Inserters will not:

  • Pick up any items that cannot be inserted into the adjacent entity.
  • Pick up any items if the adjacent entity is a ghost.
  • Pick up items to place into an entity with a full inventory.
  • Place more than one item at a time onto the same ground tile.
  • Place items into an entity that cannot hold them, for example due to filtered or limited slots.
  • Fill up the entire target inventory of boilers, nuclear reactors, production buildings, furnaces and turrets.

If two or more inserters are picking up from the same tile, the inserter who can grab the items the fastest will grab them first. Besides faster inserters, this favors inserters taking from the inner lane of a transport belt.

Insertion limits

Depending on where an inserter is moving items, it does not always fill up the entire target inventory. This allows other inserters taking from the same transport belt to pick up their share of the items. For example, if a boiler has 5 or more items of fuel in it, an inserter will not insert additional fuel. This allows the other fuel to travel further down the transport belt. When the fuel drops below 5 items, the inserter will resume inserting fuel, up to the limit of 5 items.

Entity Item type Automatic insertion limit
Boilers, burner inserters, furnaces, and nuclear reactors Fuel 5
Gun turrets Bullet Magazines 10
Artillery turrets Artillery shells 5
Assembling machines, furnaces, centrifuges, chemical plants, and oil refineries Items needed for the recipe The ingredients for 1 craft in addition to the ingredients for the number of crafts that can be completed during one full inserter swing; but at least the ingredients for 2 crafts and at most the ingredients for 100 crafts.[1]
Labs Science packs The number of science packs needed for one research unit in addition to the science packs for the number of research units that can be completed during one full inserter swing; but at least the ingredients for 2 research units and at most the ingredients for 100 research units.

An inserter that has a higher inserter capacity bonus than 1 can overfill the target building, due to the inserter picking up a higher amount of items than needed. Overfilling can also occur if multiple inserters are used to insert items into one building.

Inserters and transport belts

Transport belts have two lanes on which items can travel. Inserters only place items onto one side of the belt, either the far side from the inserter's perspective or if the belt is going the same or the opposite direction as the inserter the right side from the belt's perspective.

Inserters place the item on the furthest lane. If a belt is in the same orientation as the inserter, the item will be placed on the right-hand lane, from the belt's perspective. In curves the inserter always places on the far side. If the belt is perpendicular to the inserter, inserters prefer taking items from the nearest lane. If the nearest lane is empty, the inserter will take from the far lane. If the belt is the same/opposite orientation of the inserter or a curve, the inserter prefers taking from the left lane, from the belt's perspective. If the left lane is empty it will take from the right lane.

Potential issues

Inserters may have problems picking up items:

  • From very fast belts, because the items are moving too quickly.
  • From the entry or exit of an underground belt (because the time they have to pick up is shorter)
  • From turning belts if the item is on the inside of the corner

Power usage

Inserter power draw is determined by several factors.

Firstly like most machines, all of the inserters (with the exception of the burner) have drain. Drain is the energy cost of existence, and is expended constantly as long as the inserter exists on the power grid, regardless of activity or lack thereof.

Inserters also have a cost associated with movement. This cost is applied separately and cumulatively for rotational motion as well as extension/retraction.

Lastly, inserters exhibit a power spike when initializing an action or movement. This can be referred to as "item spike" because it is typically observed directly upon picking up an item. This is because after receiving an item, it will initialize its next action, such as unloading the item. We know this spike is a result of the initialization of a new command for the inserter, and not directly as a result of the item, because of behavior that will be covered later. In other words, the spike occurs when switching between loading and unloading behavior.

Here is power graph of a red inserter receiving power for the very first time:

Notice there is a spike as it boots, followed by a movement line. This movement line is the cost of rotation + the cost of extension, as inserters start scrunched up when first built, and then the arm extends. This specific behavior is only exhibited by newly built inserters receiving power for the first time, so we can largely ignore the behavior on the left. It is worth remembering for when devising a testing setup though, as this does need to be isolated out of the final results for accuracy. It will also become relevant again further down.

Continuing on, we have the power signature of a single item being transferred chest-to-chest. First there is a spike when retrieving the item. Even though the spike is flattened, implying a duration, upon closer inspection it does appear to only be a single tick duration of spike. It is not clear from the testing why these peaks are flattened while the initial is not. The arm then begins rotating, and its cost of rotation is shown by the valley. It then drops off the item, resulting in a second spike, and proceeds to swing back towards the input. This completes one full cycle.

Notice how when not active, the consumption remains above 0. This is the drain we discussed earlier, which in this example is 400W.

Burner Inserters, despite not using electricity, also have the same power consumption characteristics as the rest of the inserters (excluding drain). Upon accepting fuel they will replenish something resembling an internal battery, and draw from it in the same manner other inserters draw from the power grid, consumption spikes and all. The exact behavior of burners is a bit quirky due to how this works, and that can be found in more detail on their dedicated page [information not yet added].

Inserter Testing Setup

Energy Costs

Using the following equation and empirical testing, we derive the values below. Note that values for burner inserters are derived with coal as a baseline. The fuel density used in the burner actually affects its measured values due to some quirks with how they operate, with higher fuel densities leading to improved performance. More detailed information for all inserters is available in the original forum post here https://forums.factorio.com/124635, where the entirety of the calculations is shown and documented in detail for those interested.

((Max Power Consumption - Drain) * (2 /seconds per tick)) + ((Power Consumption of Motion - Drain) * ((Full Rotation Constant / Rotation Speed) - (2 / seconds per tick))) = kJ per Inserter Rotation

Cost of rotational movement in kW

These values are isolated from drain. Values with ~ are rounded

Burner Yellow Red Blue Green
~51.362 ~5.437 ~7.875 ~16.741 ~47.957

Cost per transfer cycle in kJ

These values are isolated from drain. Values with ~ are rounded.

Burner Yellow Red Blue Green
~68.147 ~6.652 ~7 ~8.115 ~23.184

Inserter Efficiency

The above data can be used to compare inserter efficiency directly. Remember that the transfer cycle cost remains the same regardless of how many items are moved (with one exception that will be covered later). This means that Green Inserters with their larger stack size can outperform other inserters despite their higher transfer cost, since they can achieve a lower cost per item. Here are some graphs of chest-to-chest data showing the efficiency of different inserters at differing stack sizes. Because the other inserters maintain a proportional relationship (as in an identical stack size) these graphs will primarily focus on highlighting the Green Inserter.


Because the Burner Inserter doesn't have drain, its efficiency can only be appreciated in extremely low throughput situations. Thus we use this dedicated graph:

Because of how extremely low the throughput is, generating additional graphs for higher stack sizes is unnecessary. At higher stack sizes simply divide the reference time by the stack size.

Belt Differences

Up until now all data was regarding chest-to-chest use cases, due to their sterile and consistent nature. The introduction of belts creates special conditions that require consideration. Here is a power chart from the game for reference:

The Yellow Inserter above is doing a belt-to-belt transfer, and it has a stack bonus.

The erratic section of the graph is the loading process. We can see the behavior is irregular as the inserter does not wait for the item, but rather fishes around for them. The exact behavior here is still being studied, and due to its dependence on stack size and belt speed it is very difficult to give any firm answers regarding how much power this actually uses as a quantifiable generalization. Likely a set of tables would need to be generated with every possible combination as a reference, but such data does not currently exist. We can see the movement section seems to as an average indicate the combined cost of rotation and extension/retraction (this is not covered here as detailed data does not exist, but the games code suggests these two costs are identical), which we saw in our original power pulse earlier. This would make sense as the inserter is moving inwards and outwards as well as wiggling side to side as it fishes for items, but this isn't confirmed, and could be inapplicable in faster use cases. To add to the hypothesis, we can assume that faster belts increase inserter efficiency by shortening the loading time. But that's all speculative until more data is collected. What we can confirm is at the end of the loading cycle we have our distinctive power spike, which is indicative the inserter is now switching to unloading.

Looking at the unloading section, we can see the inserter swings around normally, but then there is this dip that doesn't exist in the chest to chest behavior. This is the inserter waiting at the belt to drop off all its items. During this waiting, it uses no power aside from its drain. Once all the items are delivered, it spikes, indicating it is going back to its loading behavior.

What this means in practice is whenever you are loading from a chest, regardless of whether you are delivering to a chest or belt, the efficiency relationship remains the same. The additional duration of drain has no bearing on the energy efficiency. When loading from a belt, we can see there is additional energy consumption for stack sizes greater than 1. Currently there is not much that can advised regarding how to compensate for this, so the best advice is to just pretend it doesn't exist for now.

Important: The above efficiency graphs only apply when loading from a chest. When loading from a belt, until a more accurate dedicated data set is provided, it is advised to reference the initial no capacity bonus version of the graph for all decisions. With an inserter stack size of 1, the efficiency relationship between chests and belts is identical.

Regarding Quality: Quality inserters receive a linear speed boost for each level of quality, with a corresponding power cost increase. What this means is that the quality level of an inserter has no impact on its energy efficiency

More data regarding inserters feeding from belts, as well as more detailed data regarding burner inserter power consumption is still needed. Please reach out via the forum if you would like to help or contribute in collecting this data, either here https://forums.factorio.com/124635 or here https://forums.factorio.com/125710

Inserter speed

Animation showing all inserter speeds at once.
Type Rotation-speed (turns per tick)
Extension-speed (Tiles per Tick)
Turns per Game-second Game-second per full turn Ticks per full turn
Burner inserter
0.01
0.0214
0.60 1.667 100
Inserter
0.014
0.03
0.83 1.2 72
Long-handed inserter
0.02
0.0457
1.2 0.833 50
Fast inserter
Bulk inserter
0.04
0.07
2.31 0.433 26

Note: These numbers come directly from the factorio-data github repository.

Rotation Speed

Convention: 2π rad = 100% of a circle rotation = 1 turn (or one full rotation).

Note: an Inserter doesn't always need to make full turns. When grabbing from a transport belt, it is slightly faster when grabbing items from the closest lane.

Note: If the rotation speed of an inserter would result in an odd number of ticks per full turn, the actual number of ticks per full turn for this inserter is the next higher even number. The reason for this is that the inserter needs to do two half turns to pick and drop an item. This takes a certain number of ticks two times, therefore the number of ticks for the full turn is always an even number. Example: The Fast inserter's rotation speed of 864°/s or 0.04 turns per tick would result in 25 ticks per full turn, but the inserter cannot do a half turn in "12.5 ticks", so it actually takes 2*13 = 26 ticks per full turn.

Extension Speed

The extension-speed is normally not visible (only when compared to other inserters), but there are measurable speed differences when taking - for example - from the near or the far side of a belt. Also Some mods can alter the pickup and drop locations of inserters, making this stat more relevant.

Inserter Throughput

Chest to chest

Note: Experimental data from 2.0.26, recorded in this doc [2]. Chest to chest transfer transfers the entire hand size during a single tick, so most of the time is spent during the swing to and from.

Type Arm cycles per second (ticks per cycle) Items/second at capacity bonus level (stack size)
No capacity bonus Capacity bonus 2 Capacity bonus 7 Transport belt stacking
Burner inserter
0.79 (76 ticks)
1.03 (58 ticks) 1.25 (48 ticks)
1.5 (40 ticks) 2 (30 ticks)
0.79
1.03 1.25
1.5 2
(1)
1.58
2.07 2.5
3 4
(2)
2.37
3.10 3.75
4.5 6
(3)
3.16
4.14 5
6 8
(4)
Inserter
0.86 (70 ticks)
1.03 (58 ticks) 1.36 (44 ticks)
1.67 (36 ticks) 2.14 (28 ticks)
0.86
1.11 1.36
1.67 2.14
(1)
1.71
2.22 2.73
3.33 4.29
(2)
2.57
3.33 4.09
5 6.43
(3)
3.43
4.44 5.45
6.67 8.57
(4)
Long-handed inserter
1.2 (50 ticks)
1.58 (38 ticks) 2 (30 ticks)
2.31 (26 ticks) 3.33 (18 ticks)
1.2
1.58 2
2.31 3.33
(1)
2.4
3.16 4
4.62 6.67
(2)
3.6
4.74 6
6.92 10
(3)
4.8
6.32 8
9.23 13.33
(4)
Fast inserter
2.5 (24 ticks)
3.33 (18 ticks) 4.29 (14 ticks)
5 (12 ticks) 7.5 (8 ticks)
2.5
3.33 4.29
5 7.5
(1)
5
6.67 8.57
10 15
(2)
7.5
10 12.86
15 22.5
(3)
10
13.33 17.14
20 30
(4)
Bulk inserter
2.5 (24 ticks)
3.33 (18 ticks) 4.29 (14 ticks)
5 (12 ticks) 7.5 (8 ticks)
5
6.673 8.57
10 15
(2)
10
13.33 17.14
20 30
(4)
30
40 51.43
60 90
(12)
30
40 51.43
60 90
(12)
Stack inserter
2.5 (24 ticks)
3.33 (18 ticks) 4.29 (14 ticks)
5 (12 ticks) 7.5 (8 ticks)
15
20 25.71
30 45
(6)
20
26.67 34.29
40 60
(8)
40
53.33 68.57
80 120
(16)
40
53.33 68.57
80 120
(16)

Chest to belt

Throughput going from chest to belt depends on how full the belt is. An inserter will not put down an item on a belt that have items back-to-back (aka full compression) - it waits until there is a gap. However, if the gap is narrower than the item then the items upstream on the belt will stop to make room for the item being inserted. The direction of the belt compared to the inserter does not matter however.

In these measurements inserters move items onto an empty belt. Values are given for the stack sizes at three different capacity bonus levels.

Note: Experimental data from 1.1

Type Items/second at capacity bonus level (stack size)
No capacity bonus Capacity bonus 2 Capacity bonus 7
Burner inserter
0.60 0.60 0.60 (1) 1.19 1.19 1.19 (2) 1.67 1.73 1.76 (3)
Inserter
0.83 0.83 0.83 (1) 1.64 1.64 1.64 (2) 2.25 2.37 2.43 (3)
Long-handed inserter
1.20 1.20 1.20 (1) 2.35 2.35 2.35 (2) 3.10 3.33 3.46 (3)
Fast inserter
2.31 2.31 2.31 (1) 4.44 4.44 4.44 (2) 5.29 6.00 6.43 (3)
Bulk inserter
4.44 4.44 4.44 (2) 5.71 7.06 7.74 (4) 6.79 10.91 13.85 (12)

Chest to splitter

When an inserter drops items onto the side of a perpendicular splitter, it always is considered to do so on the input side, enabling the splitter to move half of the items to the other belt (assuming that the splitter filter/priority settings allow it to do so and that there is available space on both belts). This allows the inserter to drop its items twice as fast. A fully upgraded stack inserter can drop twelve items onto an express splitter every 38 ticks (18.95 items/second) instead of the usual 52.

By inserting onto the side of a splitter, a fully-upgraded stack inserter can fill 84% of an express belt lane instead of the usual 62%.
Three stack inserters can saturate an express belt if one of them inserts onto a splitter.

Belt to chest (perpendicular)

Note: The following is based on experimental data from 1.1. Most of the 1.1 experimental data was gathered using the following circuit blueprint to measure the exact tick difference between inserter swings. A lot of the data on this page (specifically the belt to chest data) relies heavily on the conditions of the setup on which the measurements are done. If your setup differs from the ones tested on this page, you can use the following blueprint to do the measurements yourself.

  Copy blueprint string

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

When picking items from a belt, many more factors come into play besides belt fullness:

  • How fast the items move (i.e. if they are queued up on the belt or move at belt speed).
  • Whether the belt is perpendicular to the inserter or approaches it head on.
  • Whether items are on the near or far lane of a perpendicular belt.
  • Whether the belt turns or not, and whether the items are in the inner or outer side of the bend.
  • If the belt is an underground entrance or exit. This shortens the time items are visible to the inserter for pickup.
  • All sorts of intricate timing factors between the inserter and the items on the belt, since the game simulates the arm homing in on every item.

The test setup used below is with an inserter taking items from a perpendicular belt with items on the far lane only. The belt is fully compressed and timings are both for items that move at full speed and queued up as much as possible. Values are given for the stack sizes at three different capacity bonus levels.

Type Items/second at capacity bonus level (stack size)
No capacity bonus Capacity bonus 2 Capacity bonus 7
Items at
belt speed
Items
queued
up
Items at
belt speed
Items
queued
up
Items at
belt speed
Items
queued
up
Burner inserter
0.60 0.65 0.50 0.64 (1) 1.11 1.20 1.13 1.26 (2) 1.61 1.61 1.65 1.71 /
1.73 /
1.86 *
(3)
Inserter
0.94 0.94 0.94 0.88 (1) 1.67 1.67 1.50 1.74 (2) 2.50 2.25 2.33 2.37 /
2.37 /
2.54 *
(3)
Long-handed inserter
1.18 1.18 1.25 1.20 (1) 2.20 2.31 2.40 2.40 (2) 3.21 3.21 3.46 3.40 (3)
Fast inserter
2.50 2.31 2.50 2.50 (1) 4.50 4.29 5.00 4.80 (2) 6.43 6.00 6.43 6.43 (3)
Bulk inserter
4.50 4.29 5.00 4.80 (2) 7.50 7.50 8.00 7.50 /
8.57 /
8.28 *
(4) 7.50 11.25 15.00 7.50 /
13.09 /
15.32 *
(12)

*) Throughput for basic/fast/express belt.

Since there are many more factors involved, these measurements exhibit a more complex pattern than chest-to-belt.

  • Boldface cells show for which belt each inserter has the best throughput on each bonus level when items move at belt speed. Higher speed belts mean that inserters have to work harder to catch the fast moving items. The effect is most noticeable for slower inserters and smaller stack sizes.
  • When items are queued up the belt type hardly matters, so there is only a single column for that. The exceptions are the stack inserters - for basic transport belts it's the belt that sets the limit for stack sizes above 4, and there is also a notable difference between fast and express belts.

Belt to Chest (facing inserter)

Note: Experimental data from 1.1

When picking up items from a belt facing the inserter, there are multiple small differences between different setups. The following throughput tests are performed with express transport belts and stack inserters with the maximum capacity bonus. Each setup in the following picture shows the amount of ticks per cycle of the inserter and the amount of items per second the inserter moves. These measurements are consistent in all orientations of the setup.

See Also