When you are old (or “experienced” if you prefer), you begin to realize how much of what you learned is wrong. Even if it was “right” when you learned it. I think of all pee…| Sub-Etha Software
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
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