Srinath Shrestha
I write software in Go. I like understanding how systems work, finding performance problems, and writing about what I learn on the blog.
Personal projects
- gjson: a recursive-descent JSON parser with a typed AST that preserves member order, duplicate keys, exact number text, and source positions.
- Process Supervisor: a Unix process manager with dependency-aware startup, crash restarts, exponential backoff, timeouts, log capture, and a local control socket.
- Concurrent Sharded Cache: a generic in-memory Go cache with sharded locking, TTL expiration, bounded capacity, and LRU or LFU eviction.
More personal projects on GitHub →
Open-source contributions
- CockroachDB Pebble: cache local object paths [approved, in review]: removed repeated filesystem-path construction from a storage hot path. The focused benchmark improved from approximately 250 ns, 112 B and 4 allocations per operation to approximately 4 ns with zero allocations.
- Judgment Pack Runtime: linear JSON Pointer construction [merged]: replaced quadratic string construction while preserving RFC 6901 escaping. A one-megabyte regression case improved from approximately 25.49 seconds to 0.01 seconds.
- Participle: allocation-free mapper dispatch [merged]: removed a per-token allocation from a Go parser's lexer hot path. The isolated benchmark improved from approximately 86.4 to 64.6 ns/op and from one allocation to zero.
More open-source work on GitHub →
Experience
-
Backend Developer, SkyForge System Solutions (January to May 2025, internship).
Built and optimized backend services for SIRTIKA, a diagnostic platform, focusing on efficient report generation, reliable background processing, and high-performance APIs.
Platform: diagnostic.sirtika.com, Landing page: sirtika.com
Tools
- Current
- Go, Make, Git, Docker, AWS
- Web [previous]
- JS, Node, Next.js, Express