Subscribe
Sign in
Home
Notes
Chat
Archive
Leaderboard
About
Latest
Top
Discussions
Build Distributed Systems: Enabling Resilience
Learn how we can enable Resilience in our in-memory caches with the help of Write-Ahead Logging using Protocol Buffers and tune-able Fsync strategies.
Sep 1
•
Pratik Pandey
8
August 2025
Build Distributed Systems: Optimising Memory Usage of our Caches
We use Redis as an inspiration, to implement memory efficiencies in our cache and reduce our memory usage by 45%!
Aug 26
•
Pratik Pandey
10
Build Distributed Systems: Cache Evictions(II)
Let's dive into how we can evaluate the right eviction strategy for different use cases in the real-world.
Aug 24
•
Pratik Pandey
10
Build Distributed Systems: Cache Evictions
We dive into the different eviction strategies like LRU, LFU and Decaying LFU and how to efficiently implement them.
Aug 21
•
Pratik Pandey
10
Build Distributed Systems: Cache to Distributed Cache
We implement a local cache with 2 implementations: One using Locks and the other without Locks. Dive in to understand the performance differences…
Aug 9
•
Pratik Pandey
11
9
July 2025
Dive Deep Series: Sync.Map in Golang
We deconstruct Go's sync.Map to reveal its two-map, lock-free design, explaining its performance optimisations for read-heavy workloads, its key design…
Jul 31
•
Pratik Pandey
9
2
Quad Tree: The Secret Behind Sub-Millisecond Location Searches
QuadTree solves the spatial search problem by applying the "divide and conquer" principle to 2D space. QuadTree recursively subdivides 2D space into…
Jul 17
•
Pratik Pandey
13
2
Merkle Trees in Practice: A Deep Dive into Implementation and Optimisation
In our last post, we discussed about how you can compare two large datasets for integrity using Merkle trees.
Jul 5
•
Pratik Pandey
15
3
June 2025
Merkle Trees: The Data Structure for Verifiable State
A Merkle Tree is a binary tree of cryptographic hashes, constructed from the bottom up to efficiently verify data integrity.
Jun 22
•
Pratik Pandey
20
2
Beating Tail Latency: How Golang Supercharges SwissTables with Extendible Hashing
Extendible hashing is a dynamic hashing technique that allows the hash table to grow and shrink gracefully as data is added or removed, without…
Jun 4
•
Pratik Pandey
5
May 2025
SwissTables: High Performance HashMaps
Understand how SwissTables provide a major performance improvement using its innovative control word metadata and SIMD-powered lookups.
May 27
•
Pratik Pandey
11
2
Fragile Base Class Problem: Composition over Inheritance
Why do we always hear "Composition Over Inheritance"? Let's discover some hidden pitfalls associated with Inheritance and why you should prefer a HAS-A…
May 14
•
Pratik Pandey
7
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts