Rust optimized code, debug mode doesn't have a chance

I’m doing “The Great Dispatch” with Rust and came up with a decent swapping algorithm. The problem is that in debug mode we don’t stand a chance at making it up the leaderboard. We simply can’t compare enough evaluations fast enough.

The difference, when tested locally, between debug and release is a factor of 10 in the resulting value, which is hugely significant.

I could probably do even better, but it doesn’t make sense to profile and improve debug mode.

3 Likes

That’s a “global” issue on codingame. Many languages are run in debug mode (or at least with debug flag or/and without any optimization flag) when we submit. The debug mode is useful in the IDE (because we want the stack when we crash), but it’s useless at the submit.

[CG]Thibaud said that they’ll look at this but we don’t know when.

The ultimate solution would be to let us define the compilation command line and the run command line. So we can define all the optimisation flags we want and disable debug flags in any language. But i can’t say how hard it is to achieve for codingame (and obviously it would be a 1% users function. So … not critical).

I agree a customized command-line may not be critical, but basic release-mode/optimizatons are. Most of the compete section requires making decisions quickly. Compiling in debug doesn’t create a fair playing field between the languages.

And still #1 of CSB is on Rust, in front of 12 C++ :slight_smile:

Hee hee, well, brute force won’t always win. :wink:

that’s awesome do you know how Pen achieved that?

Absolutely not, better ask him !