Deciphering C++ Coroutines, part 1
每次看协程的相关介绍,总是被各种繁杂的概念所困扰,之前也尝试过梳理一次,效果也很一般。这次花了不少时间系统的学习了一下,希望能加深一下印象。其中不少的内容都来自于这个博客,但它罗列了过多的细节,缺少了一个全局视角。直到我前一阵子看到了这个演讲,才把各个概念串联起来,有了相对清晰的理解。希望对各位有所帮助。
每次看协程的相关介绍,总是被各种繁杂的概念所困扰,之前也尝试过梳理一次,效果也很一般。这次花了不少时间系统的学习了一下,希望能加深一下印象。其中不少的内容都来自于这个博客,但它罗列了过多的细节,缺少了一个全局视角。直到我前一阵子看到了这个演讲,才把各个概念串联起来,有了相对清晰的理解。希望对各位有所帮助。
结合CppCon2015的演讲Intro to the C++ Object Model,从汇编的视角再理解一下C++对象模型。我的环境是Linux和gcc 13.3。
最近调查我们测试环境的RocksDB WAL出现了大量积压,研究了下RocksDB文件清理的相关逻辑。我们使用的版本为7.8.3。
RocksDB在今年的版本,引入了新的实验性功能二级索引,这两天花了点时间看了看相关实现,整体功能还不是非常强大,只能算搭好了一个架子,为之后的扩展留下了一些空间。
在上一篇,我们已经了解了内核和ld.so在运行一个可执行文件中的作用,并且已经成功跳转到了可执行文件的入口_start。这一篇会继续探索,看看从_start开始最终怎么调用到main函数。
看了“The Bits Between the Bits: How We Get to main()”之后,本来想按图索骥再学习一遍,没想到在我的环境下已经完全没法复现,于是才有了这篇文章。
几年之前,我以为我已经基本掌握了RocksDB prefix bloom filter,没想到这两天经过一阵研究,又有了更深入的认知。
How to implement a lock-free atomic_shared_ptr?
这篇文章总结自Arthur O’Dwyer在CppCon上的演讲dynamic_cast From Scratch,主要是先介绍运行时多态的相关基础知识,以及如何自己实现一个dynamic_cast。
介绍一下Amazon最新推出的Aurora DSQL~