Update 08-Considering_Performance.md

This commit is contained in:
Jason Turner
2016-11-14 15:27:30 -07:00
committed by GitHub
parent 6e95809dcb
commit 07e028eddb

View File

@@ -39,6 +39,11 @@ Templates are not free to instantiate. Instantiating many templates, or template
For more examples see [this article](http://blog2.emptycrate.com/content/template-code-bloat-revisited-smaller-makeshared).
### Avoid Recursive Template Instantiations
Recursive template instantiations can result in a significant load on the compiler and more difficult to understand code.
[Consider using variadic expansions and folds when possible instead.](http://articles.emptycrate.com/2016/05/14/folds_in_cpp11_ish.html)
### Analyze the Build
@@ -46,6 +51,8 @@ The tool [Templight](https://github.com/mikael-s-persson/templight) can be used
After you build using Templight, you will need to analyze the results. The [templight-tools](https://github.com/mikael-s-persson/templight-tools) project provides various methods. (Author's Note: I suggest using the callgrind converter and visualizing the results with kcachegrind).
### Firewall Frequently Changing Header Files