Additional Cost
This is the translation I prefer to use.
Although it can be used in many contexts, I understand that the term "additional cost" seems to give a good understanding in most cases because the term is always used with an intention to say that something is more and that something more brings a machine cost, a time cost, a resource cost, etc..
An analogy that I find interesting, and analogies need to be used sparingly, would be to compare the overhead to a cake icing. In some situations a topping is essential to characterize the cake and in other cases it just makes the cake heavier, but with the same taste.
What I mean by this is that it is a term that may not refer to something bad. For each case it is necessary to understand if the overhead is something connected to a trade off, that is, something additional that has a benefit, is just something additional that can be controlled or is just a feature of the technology. To answer your question of a overhead in detail you need to add a context because for each you can have a different detailed explanation.
In the case of OO, I understand that the overhead is a trade off. I use this argument because it is likely that in this case a comparison is being made to another paradigm, for example, that of structured programming. When making this comparison we will check several points in the OO who seem to "turn around" to achieve the same goal and is called overhead. It is as if you added a cost of programming, time, compilation and execution to a program, which could be written in a simpler and more direct way without the need for the "additional cost" placed by OO. There are other aspects of a programming paradigm that can add costs, for example, project costs, technical documentation, tools, testing, etc. Although compared to the other paradigm it seems to bring an extra cost, I understand that it is only the characteristic of that paradigm, that is, to add these costs had the objective to bring some facilities that the other paradigm did not have and therefore, that in this case, I understand to be a trade off and not a overhead.
An example of overhead the clearest is in your example of SELECT *
. In this case you are adding to the query optimizer an additional cost which is to find out the table column names and allocate space to bring all the values of these fields. If you specified column names, you would avoid this additional cost.
If the question of the performance of a function is related to its size, as you can see in that question, it’s quite relative. Then I wouldn’t use the term overhead because the context is dynamic and depends on there being an alternative implementation of the function to serve as comparative.
Before anyone asks about "find it easy on Google", read the discussion in Meta: It is wrong to ask for things that are easily found (as some judge) on Google?
– Wallace Maxters
Fine line....
– Maniero
I also think it’s not wrong, but if the sources of searches in Google are reliable, sorry, but it seems to me like rain in the wet.
– user60252
@Leocaracciolo I will not argue about it. Several questions that I and others have asked here on the site, which are "found in Google", were well accepted here.
– Wallace Maxters
@Leocaracciolo Google only points to the sites that have the answers, so why not point to Sopt? Finding things on Google may be easy, but finding quality content is another story! ;)
– gato