Whats the difference between and ? Should they be merged?

The "optimization" tag has the following tag wiki:

Use this tag for questions about efficient compilation or execution of a programming language, including in a virtual machine, or language features that facilitate more efficient code generation or execution for interpreters

The "language-performance" tag has no wiki, but they seem like the same thing. So, what's the difference between them and should they merged?


3 Answers 3


I agree that these are unclear and perhaps redundant.

Skimming over the tags by name for those related to performance, I spot these:

It seems to me that they can be grouped along two axes: by topic (design, implementation, ergonomics, usage, &c.) and by breadth (general or specific).

  • is a general design tag about the quality of results of a compiler.

  • is a general implementation tag about specific optimisations (to wit, compiler passes) meant to improve quality of results. It includes these as specific instances:

  • There seems to be no general implementation tag for factors related to the quality of implementation of a compiler, that is, its static performance.

    • However, I think would be a specific instance of that class.
  • was less clear to me, so I looked at the questions.

    • It has two questions (q/2122, q/2121) using it in the attributive sense of “at runtime” (following the tag description). I think the tag could be removed from these.

    • There is also one question (q/287) with the noun sense of “a runtime”, which I think could be retagged with .

A complication with this way of organising things is that an interpreter could be treated as both a compiler and a virtual machine. However, at the moment the vast majority of questions are about general design and implementation considerations, and not directly about performance, so I will leave that for another time.


My first impression, based only on the tag names, was:

  • : improvements to the efficiency of a specific compiler or interpreter.
  • : comparison of two or more languages with respect to their inherent efficiencies.

For instance, the first could be a question about implementing tail-recursion within a compiler, while the second could be about which language would be best for a specific application.

The fundamental problem underlying this question though, is that tags get created without any description.


I have burninated and retagged all questions to . Could a moderator please make them tag synonyms though?


You must log in to answer this question.

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