3
$\begingroup$

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

$\endgroup$
1
  • 2
    $\begingroup$ I think efficiency is more theoretical whereas performance is more systems. $\endgroup$
    – Kaveh
    Sep 12, 2015 at 2:32

2 Answers 2

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$
6
  • $\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, 2016 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$ Aug 29, 2016 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, 2016 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$ Aug 29, 2016 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, 2016 at 23:35
  • $\begingroup$ We also use performance for memory usage, disk usage, latency, ... $\endgroup$
    – Kaveh
    Oct 8, 2016 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 .