Suppose I'm writing a question, code-golf or the like, and I want solutions to have "reasonable run-times". No solutions that would take years to complete, that sort of think. What are good options for conditions to put in the question to make sure this happens?
For instance, "Answers should run in seconds or minutes, not hours or days"
Downside: Somewhat subjective, may be computer specific in some cases.
Include specific run-time requirements
For instance, "Your solution must run in under 10 minutes on all test cases provided on my machine."
Downside: Not all languages are easily available, requires OP effort. Timing may not be consistent between machines.
Require Good Asymptotics
For instance, "Polynomial run-times only." or "Solutions must be O(n^4)"
Downside: Not all participants will be familiar with asymptotic analysis. Not all algorithms are easy to analyze. May be dependent on fine details of language implementation. Asymptotics may conceal large constant factors.
Require Output Demonstration
For instance, "You must have run your solution on all test cases provided, and include the results in your answer, as well as the runtime."
Downside: Advantages faster computers. Only works for cutoffs around the 1 day - 1 week, not more or less.