My Journey to Becoming a TiKV Contributor
I had the pleasure the work on TiKV, a distributed key-value store in Rust that serves as a storage engine for TiDB, as an LFX Program Mentee in 2021. The goal was to implement a “pluggable” coprocessor, similar to HBase’s coprocessor, where users can leverage the computational power of storage nodes and directory execute arbitrary computation on them.
Automatic Flamegraphs for Benchmarks in Rust
Quick tip on how to automatically generate flamegraphs for every Criterion benchmark with pprof and in-process profiling hooks.
Header-Only Self-Registering Classes for Factories in C++
Sometimes, especially with the factory pattern, you want your derived classes to register automatically to a factory class. However, I found this harder than expected! Especially if you want it to be header only. Here is a quick walk-through of how this can be done.
Add RapidJSON with CMake
RapidJSON is a nice C++ library for parsing JSON files. If you use CMake, we can automatically download it as a dependency for your project.
Creating portable native applications with Mono
While .Net projects usually require a runtime environment, the Mono project allows us to compile a program to native code with all dependencies included. In this blog post, we will explore how to do this.