05 May 2015 · Performance
The modern computer is littered with caches to help improve performance. Each cache has its own unique role. A solid understanding of these caches is critical in writing high performance software in any programming language. I will describe the most important ones present on modern hardware but it is not meant to be an exhaustive list.
Read the full post
03 May 2015 · Memory Allocation
gin aims to be a playground for high performance C++ ideas all under the MIT license. gin is currently empty but it will not remain so for long!
Read the full post
01 May 2015 · Memory Allocation
In the AAA video game community, it is common to reimplement containers to fix a number of deficiencies. EA STL being a very good example of this. You can find a document here that explains in great detail the reasoning behind it. Some of the points are a bit dated and have been fixed with C++11 or will be fixed in C++14. I will not repeat them here but I will add some of my own.
Read the full post
30 Apr 2015 · Performance
Very often, C++ interviews ask about the virtual table: how it works, how is it implemented and the tricky bits around constructors & destructors. However, rarely are the following questions asked: why is it the way it is and are there alternatives?
Read the full post
26 Apr 2015 · Performance
The art of writing fast software is subtle and ever changing. Fundamentally, it is all about where your data comes from and how you access it.
Read the full post