Jemalloc 5.3.0 internals, part 1
Jemalloc 5.3.0这个版本在分层和概念与之前版本有不少出入,再加上之前研究的core_analyzer也能分析Jemalloc的page allocator,希望通过学习进一步加深理解。整个介绍会分成几篇,第一篇聚焦于用户层面的malloc以及Jemalloc的逻辑层。
Jemalloc 5.3.0这个版本在分层和概念与之前版本有不少出入,再加上之前研究的core_analyzer也能分析Jemalloc的page allocator,希望通过学习进一步加深理解。整个介绍会分成几篇,第一篇聚焦于用户层面的malloc以及Jemalloc的逻辑层。
一个有意思的工具:Core Analyzer。这一篇以官方的介绍为主,顺便介绍一下安装和简单使用。
之前一直没有总结过Executor中的KeepAlive,最近因为工作中使用Executor又碰到了一些问题,趁热打铁一下。
最近忙的焦头烂额,只能匆匆更新一篇最近发现的folly中RCU的bug。不会对RCU做过多详细介绍,只会大致分析folly中RCU的实现,以及这个bug是如何造成的。
继续介绍LDBC Social Network Benchmark,这一篇我们主要介绍SNB Workload里的各个Query是如何生成的,以及在性能测试中Driver是如何执行Workload。
LDBC (Linked Data Benchmark Council) Social Network Benchmark,简称LDBC SNB,是一种针对社交网络场景的评估图数据库性能的基准测试。
我们的程序在退出的时候,每次都crash。不废话直接上StackTrace:
RocksDB Iterator系列的最后一篇,看一看SST文件的格式,以及基于SST的迭代器是如何工作的。
书接上篇,本文会分析MergingIterator内部是如何通过最小堆来保证迭代器输出的数据有序的。
Nebula里面的二级索引都是基于kv形式实现的,对索引而言,最重要的就是需要保证有序,然而RocksDB官方wiki一直对于使用Iterator的参数语焉不详。我在之前的博客中大概说明了相关参数的作用,但没有详细结合代码解释其原理,这次就重新整理一下。