会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
路过的摸鱼侠
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2022年4月29日
Libco Hook 机制浅析
摘要: Libco Hook 机制浅析 之前的文章里我们提到过 Libco 有一套 Hook 机制,可以通过协程的让出(yield)原语将系统的阻塞系统调用改造为非阻塞的,这篇文章我们将深入解析 Hook 机制到底是怎么运作的 Hook 机制的核心有两点 提供自己的实现覆盖标准库(libc.so)的实现 在
阅读全文
posted @ 2022-04-29 22:08 路过的摸鱼侠
阅读(745)
评论(0)
推荐(0)
2022年4月18日
LevelDB 学习笔记5:版本控制
摘要: LevelDB 学习笔记5:版本控制 由于压缩是在后台线程异步进行的,所以会出现新老 sstable 同时存在的状态 但合并完成后,老的 sstable 并不能直接删除,必须等到没有人引用它们,才可以删除 因此数据库可能同时存在多个 Version,它们的集合是 VersionSet 所有的 ver
阅读全文
posted @ 2022-04-18 23:31 路过的摸鱼侠
阅读(367)
评论(0)
推荐(0)
LevelDB 学习笔记4:读写
摘要: LevelDB 学习笔记4:读写 部分内容参考 LevelDB Handbook 写操作 写操作分为两步 先写日志 可以防止宕机时内存数据的丢失 但如果是异步写,日志可能没有落盘,而是在操作系统的缓存里,如果操作系统宕机,就会丢失这些日志 再写到内存数据库中 LevelDB 提供两种写操作 Stat
阅读全文
posted @ 2022-04-18 23:27 路过的摸鱼侠
阅读(312)
评论(0)
推荐(0)
2022年4月17日
LevelDB 学习笔记3:合并策略
摘要: LevelDB 学习笔记3:合并策略 LSM 树常见的合并策略有两种: Leveled Compaction 和 Size-tiered Leveled Compaction LevelDB 和 Rocksdb 选择的合并策略叫 Leveled Compaction 每个 level 是有序的 ss
阅读全文
posted @ 2022-04-17 00:13 路过的摸鱼侠
阅读(774)
评论(0)
推荐(1)
LevelDB 学习笔记2:合并
摘要: LevelDB 学习笔记2:合并 部分图片来自 RocksDB 文档 LevelDB 中会发生两种不同的合并行为,分别称为 minor compaction 和 major compaction Minor Compaction 将内存数据库刷到硬盘的过程称为 minor compaction 产出
阅读全文
posted @ 2022-04-17 00:03 路过的摸鱼侠
阅读(1181)
评论(0)
推荐(0)
2022年4月8日
LevelDB 学习笔记1:布隆过滤器
摘要: LevelDB 学习笔记1:布隆过滤器 底层是位数组,初始都是 0 插入时,用 k 个哈希函数对插入的数字做哈希,并用位数组长度取余,将对应位置 1 查找时,做同样的哈希操作,查看这些位的值 如果所有位都是 1,说明数字可能存在 如果有某个位不是 1,说明数字一定不存在 数学结论 影响布隆过滤器精度
阅读全文
posted @ 2022-04-08 23:39 路过的摸鱼侠
阅读(600)
评论(0)
推荐(2)
2022年2月27日
CMake 从入门到崩溃5 - 基础语法之模块
摘要: CMake 从入门到崩溃5 - 基础语法之模块 CMake 内置一套标准模块 ,可以分为两类 工具类模块 通过 include() 命令使用 Find 模块 即 Find*.cmake 使用它们你可以方便的找到系统上安装的第三方库 通过 find_package 命令使用 通过 include 使用
阅读全文
posted @ 2022-02-27 21:40 路过的摸鱼侠
阅读(393)
评论(0)
推荐(0)
CMake 从入门到崩溃4 - 基础语法之函数和宏
摘要: CMake 从入门到崩溃4 - 基础语法之函数和宏 函数 function(<someName> [<arg1> ...]) <commands> endfunction() 🔑 CMake 函数名不区分大小写 函数可以接受两种参数:命名参数和可选参数,命名参数是强制性的,如果不提供,会抛异常 可
阅读全文
posted @ 2022-02-27 21:25 路过的摸鱼侠
阅读(392)
评论(0)
推荐(0)
CMake 从入门到崩溃3 - 基础语法之作用域
摘要: CMake 从入门到崩溃3 - 基础语法之作用域 上一篇我们介绍了 CMake 变量的使用,在这篇里我们会讲解 CMake 是怎样做名字查找的,也就是 CMake 中的变量作用域,由于 CMake 的作用域和其他编程语言区别很大,因此理解 CMake 作用域机制对正确的写出 CMake 脚本帮助很大
阅读全文
posted @ 2022-02-27 21:10 路过的摸鱼侠
阅读(573)
评论(0)
推荐(1)
CMake 从入门到崩溃2 - 基础语法之CMake变量
摘要: CMake 从入门到崩溃2 - 基础语法之CMake变量 CMake 中变量名大小写敏感,且可以由任何字符组成 🔑 最佳实践 仅在当前作用域中使用的本地变量用简短的小写命名,在多个作用域中使用的变量用详细的大写命名 变量评估 CMake 中变量都是“字符串化”的,用 ${} 包裹一个变量会用变量的
阅读全文
posted @ 2022-02-27 00:38 路过的摸鱼侠
阅读(735)
评论(0)
推荐(0)
上一页
1
2
3
4
下一页
公告