Does the online judge have any compiler flags set?
This is the updated information regarding flags on the compilers set by online judge as of November 2017.
- C++ :
O2 - second optimization level,
lm - access to "math.h" library,
fomit-frame-pointer - disallow to store frame pointer in CPU register,
pthread - enable multithreading
- Pascal :
O2 - second optimization level,
fomit-frame-pointer - disallow to store frame pointer in CPU register
- Python :
OO - don't store debug information + don't store docstrings
- Ada :
O2 - second optimization level,
- C :
O2 - second optimization level,
lm - access to "math.h" library,
fomit-frame-pointer - disallow to store frame pointer in CPU register,
pthread - enable multithreading
- Scheme :
O0 - entry optimization level
- Haskell :
O - first optimization level
- Pascal :
O2 - second optimization level
- Common Lisp :
dynamic-space-size 48 - amount of space (in MB) dedicated for startup
disable-debugger - disable debugger
- C99 :
lm - access to "math.h" library,
fomit-frame-pointer - disallow to store frame pointer in CPU register,
pthread - enable multithreading
- Javascript Rhino :
Xmx256M - memory limit equal to 256MB
Xms16M - start Java VM with 16MB of memory
- Rust :
O - first optimization level
- Python 3 :
OO - don't store debug information + don't store docstrings
Here is more complete answer - http://discuss.codechef.com/questions/3480/what-are-the-compiler-options-that-the-judge-uses
Previous part is from FAQ - http://www.codechef.com/wiki/faq#Are_any_compiler_flags_set_on_the_online_judge
You can check yourself, for example by throwing exception if not set If there is flag missing, please write an e-mail to bugs@codechef.com
I did check and it is ALSO being set for the IDE (which is not what we want).
Sent email to bugs. Thanks.
Also, we can use #ifdef
instead, right ?
Rust code is not being compiled with -O
as claimed, and this is slowing down Rust submissions dramatically, making Rust unusable for many problems.
See Bug report: Rust code is being compiled in debug mode without optimization for reproducible proof. I’ve gotten no response yet from my report to bugs@. (Edit: Actually I got a reasonably quick “we’ll look into this” response that landed in my spam folder, but that’s all so far.)