Illustration of a concurrent queue with colored hazard pointers.

How Lock‑Free Queues Handle Memory Reclamation via Hazard Pointers

A deep dive into hazard pointers for lock‑free queues, showing why they matter, how they work, and when to use them over alternative reclamation schemes.

May 15, 2026 · 8 min · 1699 words · martinuke0
Illustration of a hash map with multiple threads accessing buckets without locks.

Designing Lock-Free Concurrent Hash Maps Without Atomic Contention

A deep dive into lock‑free hash map designs that sidestep atomic contention, covering bucket partitioning, versioned pointers, and practical performance results.

May 15, 2026 · 9 min · 1875 words · martinuke0
Diagram of an Adaptive Radix Tree with nodes of varying sizes.

Implementing Adaptive Radix Trees for Memory Efficient Metadata Storage

A step‑by‑step guide to building an Adaptive Radix Tree in Go, focusing on memory‑efficient metadata handling, performance testing, and real‑world integration.

May 14, 2026 · 7 min · 1362 words · martinuke0
Illustration of a B-Tree node with multiple keys on a storage disk.

Why B-Trees Outperform Binary Search Trees on Disk

B‑trees keep disk reads low and writes efficient, making them the preferred index structure in databases and filesystems.

May 13, 2026 · 6 min · 1264 words · martinuke0

A Deep Dive into Sorting Algorithms: Theory, Practice, and Real‑World Applications

Introduction Sorting is one of the most fundamental operations in computer science. Whether you’re displaying a list of users alphabetically, preparing data for a binary search, or optimizing cache locality for large‑scale analytics, a good understanding of sorting algorithms can dramatically affect both correctness and performance. This article provides a comprehensive, in‑depth look at sorting algorithms, covering: The mathematical foundations of algorithm analysis (time & space complexity, stability, adaptivity). Classic comparison‑based sorts (bubble, insertion, selection, merge, quick, heap). Linear‑time non‑comparison sorts (counting, radix, bucket). Real‑world considerations: language libraries, parallelism, cache behavior, and when to choose one algorithm over another. Practical code examples in Python that can be translated to other languages. By the end of this post, you’ll be equipped to select, implement, and benchmark the right sorting technique for any problem you encounter. ...

April 1, 2026 · 16 min · 3226 words · martinuke0
Feedback