12
\$\begingroup\$

We currently have two tags that have quite a large amount of overlap in their definitions:

  • Performance is a subset of Optimization: performance is the goal when you want the execution time of your program or routine to be optimal.

  • When the code scales so poorly in the face of large inputs that it cannot complete in a reasonable amount of time, use this instead of the [performance] tag.


And so is simple. If you want to increase the performance of the program then you tag it with this.

However, if it fits then you need to tag it with that instead. Which is when:

  • "When the code scales so poorly in the face of large inputs"

    We don't really know how large 'large' is. And so Counting ways to fit bottles in crates which has an input of \$n=30,k=20,K_i=i\$. Fits in this tag.

  • "cannot complete in a reasonable amount of time"

    We have no clue what the time limit is, or even if it changes. And so this mostly comes down to wanting better performance.

  • "use this instead of the [performance] tag"

    Since the overlap here seams to be overly large, it seems we want to tag all questions with rather than .


And so how should we deal with these tags? What's the difference? Should they be synonyms, or something else?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ To be honest, both are meta-tags of the same kind as the old [naming] and other tags that describe an area of concern. [time-limit-exceeded] describes performance (likely algorithmic) in the context of an online judge or other online coding challenge à la Project Euler. \$\endgroup\$ Commented Jun 15, 2017 at 23:15
  • \$\begingroup\$ @Mat'sMug But it's not limited to coding challenges either. Take the last 7 TLE questions, half of them aren't challenges, and it's regulars that are tending to add the tag... \$\endgroup\$
    – Peilonrayz Mod
    Commented Jun 15, 2017 at 23:29
  • \$\begingroup\$ Eh, I'd just burn them both. Wouldn't be the first meta-tags to meet Trognor. \$\endgroup\$ Commented Jun 15, 2017 at 23:30

2 Answers 2

16
\$\begingroup\$

Basically, is for a need, whereas is for a want.

Yes, there are times when both apply, but even then, a question should only use the one that fits best. It's probably most likely that will be used with a programming challenge, whereas would be used elsewhere.

That said, I think they should stay separate (maybe even burninated), and we could clean up both tags if needed. We could also tweak the wikis for a bit more clarity regarding usage.

\$\endgroup\$
4
  • 2
    \$\begingroup\$ I personally like seeing either of them, so I'd vote for a cleanup and against a burnate... \$\endgroup\$
    – Peilonrayz Mod
    Commented Jun 15, 2017 at 23:52
  • 6
    \$\begingroup\$ Time-limit-exceeded is also more commonly used with the tag challenge. Where one needs respect some kind of maximum run-time duration in seconds \$\endgroup\$ Commented Jun 16, 2017 at 0:56
  • \$\begingroup\$ I really like the time-limit-exceeded because you get basically only code challenges which are working but too slow to pass. The performance can burn though, basically all questions would be eligible for that. Would be nice to see how many questions have both compared to each one. \$\endgroup\$
    – Graipher
    Commented Jun 16, 2017 at 16:14
  • \$\begingroup\$ I can get behind just burninating performance. It's another leftover "meta" tag that we somehow kept, which is also currently synonymized with optimization. I've already cleaned out all the locked questions (which impedes burnination), so it's good to go(ne). \$\endgroup\$
    – Jamal
    Commented Jun 16, 2017 at 22:07
3
\$\begingroup\$

Please do not delete .

This tag indicates that the OP that made the question seeks answers that address performance issues with the code.

Do not delete either, I would rather create a synonym with .

I admit when I first saw the I was intrigued. Like I said in the comments to the answer of @Jamal this tag is mostly used along with .

If we take a look at the question count per tag is as follows (data taken in moment of writing this answer)

time-limit-exceeded - 484

time-limit-exceeded + programming-challenge - 236

So about 50% of the questions where the are applied are in fact questions.


I can't tell if making a distinction between and is important or not. However I can at least tell that a question containing should also contain .

Hence my previous suggestion of creating a synonym. The benefit in doing so is there will be no ambiguity whatsoever when using each tag.

\$\endgroup\$
2
  • \$\begingroup\$ Thank you for this answer, :) I whole heartedly agree with you, on wanting them to stay, and making them synonyms. I'm not sure I agree with having both on a single question, say you have a Python question, I don't really want to see 'python python-3.x performance time-limit-exceeded', as yeah, there should probably be another tag there. Also you may be interested in Jamal's request to burninate them :) \$\endgroup\$
    – Peilonrayz Mod
    Commented Jun 18, 2017 at 21:00
  • \$\begingroup\$ Minor point, but: 50% of [time-limit-exceeded] are known to be [programming-challenge] questions. I haven't looked through them to verify, but at a quick guess, the majority of the rest probably are actually programming challenge questions, just without the tag to indicate that. \$\endgroup\$ Commented Jun 20, 2017 at 15:02

You must log in to answer this question.

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