4
\$\begingroup\$

I looked around and it seems that the language is defined by the compiler not operational semantics. In normal code golf new languages are banned because of the loophole of implementing the answer as a compiler entry to empty text. This renders answers as non-competing and are often seen as worth deleting as non-competing often means this or failing to meet the specification.

Is it allowed to post non-competing fastest-code solutions where I look into the problem and see how the compiler is failing me then adjust it?

To me trivial languages in fastest-code do not exist as the best possible answer is going to be in hardcoded machine code, in that case I would just be posting machine code. By compiler optimisations I mean possibly vectorisation, garbage collection, dead-code elimination, fusion etc... not hardcoding.

\$\endgroup\$
  • 5
    \$\begingroup\$ Actually, since mid-2017 newer languages are also allowed on older challenges for code-golf without being non-competing, as long as the language isn't made specifically for that single challenge, which is still covered by this default forbidden loophole. \$\endgroup\$ – Kevin Cruijssen Mar 20 at 13:27
  • 3
    \$\begingroup\$ But to get back to your actual question: I personally don't see any reason why it wouldn't be allowed. If you can make those optimizations (and perhaps mention those optimizations in your answer, if you optimize based on an earlier 'bad' result), I would personally only encourage that for a [fastest-code] challenge tbh. \$\endgroup\$ – Kevin Cruijssen Mar 20 at 13:28
  • 1
    \$\begingroup\$ @KevinCruijssen do you mean that there would be two answers? The original and optimised compiler version. \$\endgroup\$ – just_floating Mar 20 at 14:17
  • 1
    \$\begingroup\$ No. Maybe I misunderstand your question, but I assumed there was a fastest-code challenge and you made an answer for it. And then realized, when making that answer, you could optimize the runtime performance of the language you've used with things you've mentioned (i.e. GC, vectorisation, etc.). After which you update your existing answer with those modifications, and explanation why they enhance the performance. Or am I misunderstanding your question, and you meant to say you first make those optimizations, before posting your initial answer? \$\endgroup\$ – Kevin Cruijssen Mar 20 at 14:36
  • 1
    \$\begingroup\$ Yes I meant the latter. I thought it might be fun to try out code golf challenges, go back to the compiler change a few things to make it faster and then post an answer. I thought it may be a more tangible way to learn compiler optimisation. \$\endgroup\$ – just_floating Mar 20 at 14:57

You must log in to answer this question.

Browse other questions tagged .