Recent Posts

Jemalloc 5.3.0 internals, part 1

Jemalloc 5.3.0这个版本在分层和概念与之前版本有不少出入,再加上之前研究的core_analyzer也能分析Jemalloc的page allocator,希望通过学习进一步加深理解。整个介绍会分成几篇,第一篇聚焦于用户层面的malloc以及Jemalloc的逻辑层。

What is Core Analyzer

一个有意思的工具:Core Analyzer。这一篇以官方的介绍为主,顺便介绍一下安装和简单使用。

folly::Executor::KeepAlive

之前一直没有总结过Executor中的KeepAlive,最近因为工作中使用Executor又碰到了一些问题,趁热打铁一下。

Buggy folly::RCU

最近忙的焦头烂额,只能匆匆更新一篇最近发现的folly中RCU的bug。不会对RCU做过多详细介绍,只会大致分析folly中RCU的实现,以及这个bug是如何造成的。

LDBC Social Network Benchmark, part 2

继续介绍LDBC Social Network Benchmark,这一篇我们主要介绍SNB Workload里的各个Query是如何生成的,以及在性能测试中Driver是如何执行Workload。

RocksDB Iterator Internal, part 3

RocksDB Iterator系列的最后一篇,看一看SST文件的格式,以及基于SST的迭代器是如何工作的。

RocksDB Iterator Internal, part 2

书接上篇,本文会分析MergingIterator内部是如何通过最小堆来保证迭代器输出的数据有序的。

RocksDB Iterator Internal, part 1

Nebula里面的二级索引都是基于kv形式实现的,对索引而言,最重要的就是需要保证有序,然而RocksDB官方wiki一直对于使用Iterator的参数语焉不详。我在之前的博客中大概说明了相关参数的作用,但没有详细结合代码解释其原理,这次就重新整理一下。