The Little Things

A 7-post collection

RSS feed of posts tagged The Little Things

The Little Things: The Missing Performance in std::vector

`std::vector` is often said to be the default container, because it provides good baseline performance for common operations. Recently, I experimented with a simple API change that can improve the performance of a common usage pattern by 10+ %. »

The Little Things: Why you should always have benchmarks ready

At the end of January, I removed some low-hanging allocations from Catch2. This meant that running the SelfTest binary in v3.3.1 made 8k fewer allocations, but it also made section tracking in v3.3.1 ~4x slower. This post is about how that happened and what we can learn from this. »

The Little Things: My ?radical? opinions about unit tests

Due to maintaining Catch2 and generally caring about SW correctness, I spend _a lot_ of my time thinking about tests. This has left me with many opinions about tests, some conventional and some heterodox. »

The Little Things: Comparing Floating Point Numbers

There is a lot of confusion about floating-point numbers and a lot of bad advice going around. IEEE-754 floating-point numbers are a complex beast, and comparing them is not always easy, but in this post, we will take a look at different approaches and their tradeoffs. »

The Little Things: Testing with Catch2

In this post, we will take a look at testing with Catch2. First, we will go over the basics, and then we will take a closer look at three more advanced features: Matchers, Generators, and Benchmarking. »

The Little Things: Everyday efficiencies

Premature optimization is often said to be the root of all evil, because it makes future maintenance harder. I want to show some cases where the faster code is just (or more) as maintainable as the slower one. »

The Little Things: Speeding up C++ compilation

This post is based on an internal training I prepared for my employer, Locksley, and showcases some source-level techniques for improving C++ compilation times. »