astc-encoder icon indicating copy to clipboard operation
astc-encoder copied to clipboard

Split context to improve compile times

Open solidpixel opened this issue 3 years ago • 0 comments

The ParallelManager utility is only needed in the entry layer, but is included everywhere in the internal header. This can be slow to compile due to the amount of C++ stdlib it pulls in, and the use of templates prevents the use of pre-compiled headers.

The PR splits the codec context into two - an inner context which excludes the thread control, and an outer context which uses it. This improves compile times by ~2 seconds (~20%) on Linux. Compiling Debug builds all three x86-64 binaries with -j16 drops from ~15s to ~12s.

solidpixel avatar Aug 15 '22 08:08 solidpixel