3
$\begingroup$

Is there a significant difference between the tags and (which we should document then), or are they synonyms?

$\endgroup$
  • 2
    $\begingroup$ I think efficiency is more theoretical whereas performance is more systems. $\endgroup$ – Kaveh Sep 12 '15 at 2:32
3
$\begingroup$

I tend to use “performance” to mean run time, whereas “efficiency” applies to any resource: CPU time, memory, power…

Since optimizing for efficiency is usually a compromise, I don't think makes sense as a tag. Use for run time efficiency, for power efficiency, etc.

Since most questions tagged are about run time efficiency, we should manually retag the few that aren't, and then do a one-time merge into and remove the synonym. If creeps back in we should blacklist it.

$\endgroup$
  • $\begingroup$ I think "performance" has the same catch-all problem that "efficiency" has. I don't have a good alternative right now. In the algorithms world, [algorithm-engineering] may be a good tag capturing the intent of improving an algorithm (in whatever cost measure). $\endgroup$ – Raphael Aug 29 '16 at 23:19
  • 1
    $\begingroup$ @Raphael It may be community-dependent, but I wouldn't use “performance” for other measures of efficiency. I work on memory-constrained and power-constrained devices, and thus I tend to optimize for “memory consumption” and “power consumption” rather than for “performance”. $\endgroup$ – Gilles 'SO- stop being evil' Aug 29 '16 at 23:27
  • $\begingroup$ I understand, it's just that the word is not connotated like that for me. My mind goes to performance of athletes, or artistic performances, or generally any measurable quality criterion. In the algorithms world, we hardly ever use the term "performance" (as opposed to "efficient"). Apparently it's more a computer-engineering/-systems thing? $\endgroup$ – Raphael Aug 29 '16 at 23:29
  • 1
    $\begingroup$ @Raphael I guess if you're a stickler for proper terminology then “efficiency” is making good use of resources whereas “performance” is in absolute terms. So if you use a slow CPU optimally then it's efficient but has bad performance, whereas if you waste cycles on a fast CPU it isn't efficient by definition but might have good performance. Hence algorithm design cares about efficiency whereas engineers designing a system care about performance for CPU time (if it completes in 10ms, never mind how), but about efficiency for power (because that translates into battery time or heat). $\endgroup$ – Gilles 'SO- stop being evil' Aug 29 '16 at 23:33
  • $\begingroup$ Right. So ... where does that leave us? Both tags make sense, but are maybe awful anyway and should be replaced by more specific ones? We do have program-optimization, for instance. $\endgroup$ – Raphael Aug 29 '16 at 23:35
  • $\begingroup$ We also use performance for memory usage, disk usage, latency, ... $\endgroup$ – Kaveh Oct 8 '16 at 20:12
-1
$\begingroup$

Skimming over a subset of the titles of questions tagged with , my impression is that the tag is either obsolete or redundant, doesn't really fit, or is used as a synonym of the more established tag .

Therefore, I move to create synonym .

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .