Projects
Below you can find list of code snippets/small projects presented in the notes of this blog. I decided to gather them in one place as it became harder and harder to find them amongst all the other articles.
- RDE STL – my subset of STL, specialized for game development (at Google Code). Some notes here. Includes one of the fastest implementations of hash_map.
- MemTracer - system for tracking memory usage patterns, leaks, fragmentation and so on. Make sure to read the last article as it describes modifications I made to use it with a real-world application instead of small test.
- Multi-threaded Mandelbrot drawer with lock-free task queue. Follow-up articles: 1 & 2.
- Visual Studio Expression Evaluator plugin allowing for viewing original strings next to their CRC32 values.
- Instrumenting profiler – poor man’s VTune. Profile your code with minimal changes to original source.
- Thread Profiler – poor man’s ITP (another try to put Intel out of business :).
- Distributed processing system - skeleton of system allowing to distribute tasks on multiple machines.
- Software occlusion culling – old technique made viable again,
- Game editor testbed – employs IPC to separate C# editor layer and C++ renderer. Crash of one of them, doesn’t cause a data loss.
- Lock-free double ended bounded queue – … in C++. Perfect for your threadpool.
- Automatic Win32 crash reporter/handler – with “blackbox” class.
- Single producer/single consumer bounded queue,
- Cruncher# – application that analyzes layout of user defined structures using PDB files.
- Vector swizzling in C++ – what it says on the tin.
- Reflection system – for C++, works out-of-the box, no/minor code modifications required.
- Thread pools collection – tests of various containers (mosly lock free, using thread pool as an example).








