compile-time-regular-expressions
compile-time-regular-expressions copied to clipboard
Solving #109 with redundant inclusion guards
Using redundant include guards to minimize the compilation time
C Preprocessor inclusions could explode the compilation time (even with pragma once!)
The basic idea comes from an old, dusty C++ book called Large Scale C++ Software Design, page 83-88.
Expanding the evaluate method indicated in the issue #109, everytime the ? in 0?1?2?3?4?5?6?7?8?9? is parsed, a new template instantiation begins, reading all the files again in the #includes, and increasing exponentially the compilation time.
I didn't use any redundant include guards in the standard header files. They could be used into them, too, in order to reduce even more the compilation times.
Test case:
0?1?2?3?4?5?6?7?8?9?
Even worst compile time test case:
a?b?c?d?e?f?g?h?i?j?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?
Do you have some measurements? This seems really sketchy.
Ok, I read the book on pages you sent, the chapter is talking about preprocessor, not about templates.