Let's say that I have a scoreboard which acts as a timer for armorstands doing something. Every time an armorstand's value in the scoreboard gets to x (for now, let's say x = 20) the armor stand does something, and their scoreboard value is reset.
My question is whether it is more efficient to do
scoreboard players add @e standTimer 1
scoreboard players add @e[type=armorstand] standTimer 1
when increasing the timers.
The rationale for the first one is that if there are less arguments in the selector to parse, the game can just select all entities and be done with it. This seems biased towards the way humans think vs machines, however, as the machine still has to iterate through each entity whereas humans can abstractly say that all entities have had their score incremented by one. The rationale for the second one is that although the game has more arguments to parse, the amount of other entities in the world is so great that not thinning the croud of selected entities is actually more detrimental.
But that's not all. If the amount of armorstands in the world is y, and the total amount of entities is z, at what ratio of y to z does this difference become significant? Because if y:z = 1, all entities in the world must be armorstands, and thus there is no difference. If y:z = 1/2, then half the entities in the world are armorstands, and this probably has some significance. etc. Or it could be based on the actual values of y and z, rather than their ratio.
Finally, how does this change with respect to x? For example, does making x = 1 (so once a tick) change which one is better compared to x = 60?
And if the answer is simply that it really makes no difference, having the selector or not, and running once per tick or once per 100 ticks, best command-writing practice would say to use the selector so your 'code' is more readable.