finds.dev← search

// the find

youngyangyang04/Skiplist-CPP

★ 2,402 · C++ · GPL-3.0 · updated Mar 2024

A tiny KV storage based on skiplist written in C++ language| 使用C++开发,基于跳表实现的轻量级键值数据库🔥🔥 🚀

A single-header C++ skiplist implementation packaged as a toy KV store. It's primarily a learning project — the author sells a companion course — covering the same data structure that backs Redis and LevelDB. Useful if you want to read ~500 lines of skiplist code without the noise of a production codebase.

The implementation is self-contained: one header, one demo file, a makefile. That's the right scope for an educational project. The QPS numbers (240k writes, 180k reads) are reasonable for a single-threaded in-memory skiplist and give learners a concrete benchmark to compare against. The 'todo' section is honest about known gaps rather than pretending they don't exist.

Memory management is acknowledged as broken in the README itself — delete doesn't free node memory, and the author's own fix in the destructor is flagged as needing review. The key type is hardcoded to int, which makes it useless for any real use case without surgery. There's no thread safety at all, which matters the moment you have more than one reader. Persistence is a custom line-delimited text format with no WAL, no checksums, and no recovery story — power loss corrupts silently.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →