tl;dr: Results! IntroBaseline Compile TimesReducing Include CostIdentifying Compilation CostIt’s a Problem of ScaleForward DeclarationDetermining What’s ExpensiveDeduplicating Duplicitous DuplicationEnter The DragonThe Final Code?Results!Oddities, Errors, and Errata Intro Templates are one of the most ubiquitous features of C++, allowing programmers to write
C++ Compilation: Fixing It
For fixing compile times, there is no magic bullet. It takes work and work takes time. Before you spend time reducing compile (and link) times, evaluate if it actually makes sense. If you spend more on making the changes than
C++ Compilation: Lies, Damned Lies, and Statistics
no, seriously, tl;dr… How the Test Works Optimizing the Test Reasonable Confidence Bias TL;DR Results by Compiler Results by C++ Standard Visual Studio 2015 Visual Studio 2017 clang 7.0.1 Heuristics In the first post, C++ Headers Are Expensive!, I posted
Part 2: Vector3 Batch Normalization – FPU vs SIMD
Have you read Part 1? As a recap, this series is on using SIMD (specifically, 128 bit SSE 4 float vectors) to optimize a batch normalizing of vectors. While the end result may not be the most super-useful-awesomest-thing-in-the-world, it is
Part 1: Vector3 Batch Normalization – FPU vs SIMD
Recently, I wanted to see how fast I could make a function that normalizes every vector in an array. The goal was to take “natural” data and make it as fast as possible without putting any undue restrictions on the