1 post published by Chris Feilbach during August 2025| Chris Feilbach's Blog
Now that we’ve defined weak scaling and the workload, it’s time to dig into what might be going wrong. In the last part we identified shared resources across software threads and hardwa…| Chris Feilbach's Blog
Blindly scaling software is hard and often unpleasant. This multi-part blog post defines and debugs a weak scaling performance problem on a multi-core CPU. A lot of software performance work revolv…| Chris Feilbach's Blog
Dynamic memory allocation isn’t free. Today I discuss a means of reducing the frequency of it for a breadth first search algorithm. This is part of an ongoing series of posts relating to the high performance C programming challenge Pointer Wars. Come join us! The Pointer Wars challenge has four levels to it. Level 2 […]| Chris Feilbach's Blog
Dynamic memory allocation is often treated as being free by programmers. It isn’t. For our first batch of participants, week 1 of high-performance C competition Pointer Wars: Linked List Edition is complete (for those curious, you can still join!). Code has been reviewed, microbenchmarks ran, and performance results delivered. A few people even had code […]| Chris Feilbach's Blog
The initial, ongoing, run of Pointer Wars was phenomenal. We received 34 contestants of all skill levels, and have seen some phenomenal code. Now, my wife and I are expanding it more. We’ve changed it from a competition to a challenge, and participants starting on June 15th have through September 15th to complete four coding […]| Chris Feilbach's Blog
The Week 1 repository is now live on Github! There’s still time to join, cost is $25, link here. This Week’s Tasks The task for this week is to implement all of the functions declared in linked_list.h and have them pass all of the functional tests in the provided functional test suite. Once that is […]| Chris Feilbach's Blog
The response to my last post on the new C programming competition has been immense. So far we’re up to 9 participants (about eight more than my wife and I expected), and counting! Pointer Wars: Linked List edition is designed to have the competitors code a linked list in C under a variety of interesting […]| Chris Feilbach's Blog
This summer my wife and I are holding a competition: who can write the fastest C-based linked list? Your goal is to write a linked list, and code that does various tasks with said list. Other than having to be a linked list, having it being written in C (although if we have enough demand […]| Chris Feilbach's Blog
On one of the C programming subreddits today I saw that some people were under the impression that in order to build a mutex in C, atomic operations must be used. There’s a performance argume…| Chris Feilbach's Blog
Starts July 1st (late signups accepted!) and runs through October 1st! Pointer Wars: Linked List Edition is a high quality, high performance C or C++ challenge, consisting of four levels to accompl…| Chris Feilbach's Blog
Branch instructions are the primary means by which a program running on a CPU makes a decision. This post is part of a series of posts on CPU performance, as part of the Pointer Wars: Linked List E…| Chris Feilbach's Blog