From 5528955a38e6f7d6ee2f8d6eb56fc284d36a980a Mon Sep 17 00:00:00 2001 From: Jesse Talavera-Greenberg Date: Fri, 27 Nov 2015 17:30:32 -0500 Subject: [PATCH] Clean up Faster Compilation subsection --- doc/doc.tex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/doc.tex b/doc/doc.tex index 14372692..a1c027e8 100644 --- a/doc/doc.tex +++ b/doc/doc.tex @@ -141,8 +141,9 @@ GLM is a header-only library, and thus does not need to be compiled. To use GLM \item \glmheader{vector\_relational}: all the GLSL vector relational functions \end{itemize} -\subsection{Faster program compilation} -GLM is a header-only library that heavily uses C++ templates, which may significantly increase the compile time for files that use GLM. Hence, GLM functionality should be included only by files that actually use it. +\subsection{Faster Compilation} +% TODO: Benchmark explicit extern template instantiations and write something about them if beneficial http://en.cppreference.com/w/cpp/language/class_template +GLM makes heavy use of C++ templates, which may significantly increase the compile time for projects that use GLM. Hence, source files should only include the GLM headers they actually use. To further reduce compilation time, GLM 0.9.5 introduced forward declarations of all types through the header \glmheader{fwd}.