### ilia_rr's blog

By ilia_rr, 7 weeks ago,

Hi everybody!

Including lots of headers or big headers like bits/stdc++.h will increase compilation time. This can be annoying even with high speed processors. We can solve this using precompiled headers.

You can compile a header like stdc++.h to stdc++.h.gch and compiler will use it instead of compiling the header every time you are compiling your code. Less processing => Less time.

#### How to use precompiled headers?

1. Find your g++ default include directory

• Ubuntu: /usr/include/x86_64-linux-gnu/c++/{version}
• Windows: C:\MinGW\lib\gcc\mingw32\{version}\include\c++
2. Compile headers you need (I recommend using bits/stdc++.h instead of including lots of headers).

g++ {header name} {flags you use when compiling a normal code}

3. Put .gch files in the right place. You have 2 Options:

• Put them in the directory you find the headers & use #include <header name>
• Put them in your code directory & use #include "header name"

I recommend first options because the second one will work only when .gch files are in the code directory and it takes a little extra time to search in code.

Compile a code and feel the difference!

Be good and code fast ;)

• +44

 » 7 weeks ago, # | ← Rev. 3 →   -49 plaese don't down bruh
•  » » 7 weeks ago, # ^ |   +14 :/
•  » » 7 weeks ago, # ^ |   -18 که اینطور
•  » » 7 weeks ago, # ^ |   -19 No one cares that you care or not, Please do not ignore the efforts of others with your comments. You deserve downvotes.
•  » » » 7 weeks ago, # ^ | ← Rev. 2 →   -6 :|
•  » » » 7 weeks ago, # ^ |   -16 تموم شد؟ خیلی تأثیر گذار بود.
 » 7 weeks ago, # |   +5 My own experience:I use precompiled stdc++.h in the default header directory and compile time decreased from 600ms to 100ms.
 » 7 weeks ago, # |   0 Thanks for it. But it dont include windows.h library. Thanks already.
•  » » 7 weeks ago, # ^ |   +1 I think you can precompile it separately.
 » 7 weeks ago, # | ← Rev. 3 →   -26 please don't down vote bruh
 » 7 weeks ago, # |   +1 mine got improved from 2.376 seconds to 0.692 seconds, many thanks
 » 7 weeks ago, # |   +5 Thanks for your helpful blog (◕ᴗ◕✿)
•  » » 7 weeks ago, # ^ |   +2 So cute emoji (◕ᴗ◕✿) like iliya_mon The best joober in the world!
 » 7 weeks ago, # | ← Rev. 2 →   0 stdc++.h.gch file has been created in the same folder where the original stdc++.h file is. But still this isn't speeding up compilation. (I am using code runner extension on VS code.)Am I missing something? :(
•  » » 7 weeks ago, # ^ |   0 Are you sure you found the right directory? Use g++ -xc++ -E -v - to find it.
•  » » » 7 weeks ago, # ^ | ← Rev. 2 →   0 The VS code extension is running a command g++ filename.cpp -o filename.exewhile compiling and running. So am I supposed to add -o as a flag in command given in the blog.Update : NVM, now it is taking 2 seconds to compile, previously it was taking 7-8 seconds. My laptop processor might be the bottleneck, coz it is too old. But yeah, I see this as an absolute win :)
 » 7 weeks ago, # |   0 thanks mate