
Haiping
118 posts

Haiping
@haipingfu
Building next generation data platform for AI, ex-AWS/S3


Hacking on benchmarks recently. Interesting doing it with AI. A lot of thinking shifts from coding to editorial work: do we really need this benchmark? How should it actually work? What am I trying to actually show users? Software abundance means deciding what not to do.

One lesson from my experience working on AWS/S3 has stayed with me: building infrastructure that is universally useful to application developers is extremely hard. S3 became foundational by doing one thing—object storage—exceptionally well. The interface appears simple, but making it durable, scalable, predictable, and useful across millions of applications requires enormous discipline. That philosophy guides my work on Prolly Tree. I want Prolly Tree to do one thing exceptionally well: provide a fast, deterministic, content-addressed foundation for versioned data. Snapshots, structural sharing, diffs, merges, branching, rollback, and verification should be properties of the infrastructure—not features every application team must rebuild. My latest Rust enhancements introduce zero-copy reads, packed immutable nodes, optimized key comparisons, bounded session-local routing, and borrowed point-read and range-scan traversal. In my validated 10M-key benchmark—three-run medians, one worker, in-memory storage—the Rust Prolly implementation won all 18 latency comparisons against the Go Prolly implementation: • Point reads: 1.68–5.75× faster • Full range scans: 6.61–6.77× faster • Writes: 1.99–52.14× faster I’m keeping the results honest. Fresh-random point reads are still below my universal 2× target, and Rust mutation-random memory usage was slightly higher: 6.37 GiB versus 6.16 GiB. Those are areas I intend to improve further. My long-term hope is that Prolly Tree can become a dependable backbone component for both version-control systems and the AI-agent era—where applications increasingly need durable state, history, branching, reproducibility, auditing, and safe collaboration between humans and agents. Infrastructure only becomes universal when builders can adopt it from their existing stacks. That’s why I’m also investing in bindings for Go, Java/Kotlin, and TypeScript—not only the Rust core. The current 10M-key benchmark is only one milestone. Larger-scale performance tests, broader workload coverage, cold-cache behavior, concurrency, and storage-backed benchmarks are all on my TODO list. One focused infrastructure primitive, implemented exceptionally well, and made available to every application builder. Stay tuned. github.com/crabbuild/prol…







Code isn’t the only artifact anymore. Sessions. Prompts. Tool calls. Checkpoints. Intent. Outcomes. Every clone should carry them all. It's time for a new system of record for software development.




Sleet is an open source fleet manager for SlateDB. It runs garbage collection, compaction, and mirroring for SlateDB databases from a shared pool of stateless nodes. I'm excited about this: you can mirror data across buckets, regions, and clouds. github.com/criccomini/sle…











