Sourav9063
Sourav9063

Reputation: 329

Why some top level competitive programmers use #pragma?

why they use this before#include<bits/stdc++.h> mainly I've been using #include ... Now I'm seeing these lines on a cpp program so I became curious.

#pragma optimization_level 3
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx")
#pragma GCC optimize("Ofast")//Comment optimisations for interactive problems (use endl)
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization ("unroll-loops")

Upvotes: 3

Views: 2460

Answers (1)

Carl Norum
Carl Norum

Reputation: 225242

These are indications to the compiler to change its behaviour as if you had passed the equivalent command line flags. For programming competitions, you often submit source code rather than a binary - it's then built and tested using a system you don't control (and can't set the command line on). Putting these settings in as #pragma lines lets you control settings you might not otherwise be able to do in the competition environment.

Upvotes: 4

Related Questions