hey guys, i'd like to know if somebody have any suggestion of quick and easy changes to do in this final sprint.
Changes are given by the nature of the algorithms, data structures and code you're writing, that of which you've mentioned nothing. i.e. Changes are relative to something....
- see which compiler fits better g++ or icpc
- see what flags do better -O3, -O2, -msse4.2, -march=corei7 etc
- change chunk size in OpenMP, switch dynamic/static (if using OpenMP)
- check for memory leaks/ free memory/ don't free memory for speed :D ...
Give though the server "state" as i read from posts, any mistakes now can also make you miss the whole contest (if solutions doesn't compile anymore for say)...
The most important "change" is to make sure that you sumbitted the version of programm you really want to submit!
Pretty good answers. Besides, march=native is a pretty good guess to. It let's the compiler determine the architecture it'll be compiled on, and optimize for it. Hence, your solution is optimized for what machine it's compiled on.
unfortunatelly -Ofast doesnt even work, would be cool to look if its good. there are lots of compiler options
You can also put some Inline tags in your loops, which explicit force the compiler to inline some functions. good for small function calls at the end of bigger loops.
Also u should aviod funktioncalls in the loop, if u can take them out of it. The vector stuff in a special topic.
uint32 instead of uint64 if u can. free memory immideatly when u do not need it.