<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Data-Structures on Pi Stack</title>
    <link>https://www.pistack.xyz/tags/data-structures/</link>
    <description>Recent content in Data-Structures on Pi Stack</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 19 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.pistack.xyz/tags/data-structures/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Self-Hosted Binary Serialization Frameworks: bincode vs borsh vs postcard vs rkyv</title>
      <link>https://www.pistack.xyz/posts/2026-06-19-binary-serialization-frameworks-bincode-borsh-postcard-rkyv/</link>
      <pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-19-binary-serialization-frameworks-bincode-borsh-postcard-rkyv/</guid>
      <description>&lt;h2 id=&#34;why-binary-serialization-matters-for-self-hosted-services&#34;&gt;Why Binary Serialization Matters for Self-Hosted Services&lt;/h2&gt;&#xA;&lt;p&gt;When building self-hosted backend services, the format you choose for data serialization directly impacts three critical metrics: throughput, latency, and memory usage. Text-based formats like JSON and YAML are human-readable but incur significant parsing overhead — every number must be parsed from decimal strings, every string must be escaped and unescaped, and the entire document must be scanned linearly. Binary serialization formats eliminate this overhead by encoding data directly in its machine representation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Self-Hosted Compressed Bitmap Indexes: Roaring Bitmap vs EWAH vs BitMagic vs bitset</title>
      <link>https://www.pistack.xyz/posts/2026-06-19-compressed-bitmap-indexes-roaring-ewah-bitmagic-bitset/</link>
      <pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-19-compressed-bitmap-indexes-roaring-ewah-bitmagic-bitset/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Bitmap indexes are one of the oldest and most powerful indexing techniques in database systems — they encode set membership as bit strings where each bit position represents a row or document ID. When you need to compute fast intersections, unions, or differences of large datasets (AND, OR, NOT over millions of records), bitmaps are unmatched.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Self-Hosted Lock-Free Concurrent Data Structures: crossbeam vs Disruptor vs Folly vs concurrency-kit</title>
      <link>https://www.pistack.xyz/posts/2026-06-19-lockfree-concurrent-data-structures-crossbeam-disruptor-folly-ck/</link>
      <pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-19-lockfree-concurrent-data-structures-crossbeam-disruptor-folly-ck/</guid>
      <description>&lt;h2 id=&#34;the-lock-free-programming-paradigm&#34;&gt;The Lock-Free Programming Paradigm&lt;/h2&gt;&#xA;&lt;p&gt;Traditional concurrent programming relies on mutexes and locks to protect shared data. When one thread holds a lock, all other threads must wait — leading to contention, priority inversion, and in the worst case, deadlocks. Lock-free data structures eliminate these problems by using atomic CPU instructions (compare-and-swap, fetch-and-add) to allow multiple threads to operate on shared data simultaneously without ever blocking each other.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Self-Hosted Merkle Tree Libraries: OpenTimestamps vs merkletreejs vs go-merkletree vs Trillian</title>
      <link>https://www.pistack.xyz/posts/2026-06-19-merkle-tree-libraries-opentimestamps-merkletreejs-go-trillian/</link>
      <pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-19-merkle-tree-libraries-opentimestamps-merkletreejs-go-trillian/</guid>
      <description>&lt;h2 id=&#34;what-are-merkle-trees-and-why-do-they-matter&#34;&gt;What Are Merkle Trees and Why Do They Matter?&lt;/h2&gt;&#xA;&lt;p&gt;Merkle trees, named after cryptographer Ralph Merkle, are hash-based data structures that enable efficient and secure verification of data integrity. At their core, a Merkle tree takes a set of data blocks, hashes each one, then recursively hashes pairs of hashes until a single root hash remains. This root hash serves as a compact fingerprint of the entire dataset — change any byte anywhere in the data, and the root hash changes completely.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Self-Hosted Probabilistic Data Structures: Bloom Filters vs Cuckoo Filters vs HyperLogLog vs Count-Min Sketch</title>
      <link>https://www.pistack.xyz/posts/2026-06-19-probabilistic-data-structures-bloom-cuckoo-hyperloglog-countmin/</link>
      <pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-19-probabilistic-data-structures-bloom-cuckoo-hyperloglog-countmin/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;When building self-hosted monitoring systems, analytics pipelines, or distributed databases, you frequently need to answer questions like &amp;ldquo;have I seen this user before?&amp;rdquo;, &amp;ldquo;how many unique visitors today?&amp;rdquo;, or &amp;ldquo;what are the top 100 most frequent items?&amp;rdquo; — but at massive scale where exact answers are too expensive.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
