
学习笔记
文章平均质量分 79
小湿哥
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常见压缩算法性能和压缩率对比 LZ4 LZO ZSTD SNAPPY
压缩算法性能对比与实测分析 通过对LZ4、Zstandard、Brotli、LZO和Snappy五种压缩算法的测试表明: 速度方面:LZ4和LZO表现最佳,压缩/解压耗时最短(LZ4仅需15ms解压); 压缩率:Zstd以9.23%的压缩率显著领先,Brotli次之(13.19%); 综合性能:Zstd在压缩率和速度间取得平衡,适合文件压缩、数据库备份等场景;LZ4则更适用于实时数据处理。实测日志压缩中,Zstd压缩耗时71ms,解压31ms,综合性价比最优。各算法安装简单,通过GitHub源码编译即可快速原创 2025-05-30 17:09:03 · 893 阅读 · 0 评论 -
《深入Linux内核架构》读书笔记--第三章 内存管理
这一章内容很多,有120页,主要描述了物理内存的管理。NUMA的内存节点,每个内存节点有若干内存域,内存域中的页帧,页表等。中间初始化的一些细节暂且略过,后面重点是伙伴系统原理、SLAB分配器原理。原创 2025-03-25 21:51:11 · 1100 阅读 · 0 评论 -
《深入Linux内核架构》读书笔记--第二章 进程管理与调度
这一章花了好几天才看完,内容非常多,一开始尝试书本结合代码跟踪理解,但是效率太低,进度太慢。linux2.6的代码和5.15的代码差距也比较大,很多结构和细节都发生了变化, 只是大体的框架逻辑没变。所以中间开始少跟代码,更关注概念定义、逻辑本身。如果日后有需要编码,可以再去深入学习代码细节。比如关键点task_struct我就没有弄出来,逐个成员去理解它们的含义了。可能是由于书本翻译的原因,一些语句初看不太容易理解,也去查询其他的资料来帮助理解,有用的资料也会记录。原创 2025-03-07 02:44:22 · 814 阅读 · 0 评论 -
《深入Linux内核架构》读书笔记--第一章 简介与概述
这是《深入Linux内核架构》的读书笔记,我将把我觉得重要的内容记录下来,而以前知道和一些常识的不做记录。比如一些双线链表基础的数据结构的内容就不会记录, 而多级页表需要记录下来。目前只看了第一章概述,感觉是打开了一扇门,能够看清内核全貌的大门。而以前用过用户态的编程,对于内核的了解是管中窥豹,不得真章。进程切换:进程释放CPU时,保存进程状态;进程重新激活时,恢复状态。调度:内核控制进程之间共享CPU时间的分配。如A进程 30% B进程 70%地址空间分为内核空间和用户态空间。原创 2025-02-28 14:23:21 · 953 阅读 · 0 评论 -
RDMA ibverbs_API功能说明
ibverbs API使用说明,用来进行RDMA传输开发原创 2025-02-19 11:50:34 · 1339 阅读 · 0 评论 -
单线程内存拷贝速度居然比硬盘写入还慢?
单线程内存顺序拷贝,首次拷贝性能不如SSD写入性能!原创 2024-04-10 16:45:08 · 658 阅读 · 0 评论 -
RDMA RoCev2 CM建链和Socket建链测试
RDMA在高性能计算,AI大模型训练中发挥着重要的作用。主流支持RDMA的协议有IB、RoCev1、RoCev2、iWARP。其中RoCev2是应用最广泛的协议,因为其RDMA over UDP/IP,不依赖昂贵的IB网络设备,同时支持路由,性能上也接近原生IB水准。原创 2023-07-11 17:01:33 · 4622 阅读 · 0 评论 -
大小端与字节序位序的关系实测
大小端对字节序和位序的影响,网络传输会影响字节序和位序吗?位结构体和大小端有什么关联?原创 2023-05-23 16:48:28 · 1167 阅读 · 1 评论 -
Wireguard握手交互代码分析
Wireguard握手交互代码分析消息结构握手请求消息struct message_handshake_initiation { struct message_header header; // header里只有一个type, 发起0x01 __le32 sender_index; // Sender的标识,自定义。 u8 unencrypted_ephemeral[NOISE_PUBLIC_KEY_LEN]; // 本地临时公钥 // AEA.原创 2021-11-17 17:59:06 · 3479 阅读 · 0 评论 -
GO语言生成C动态库,再被链接成新动态库
目录目标测试代码编译步骤GO ----> 动态库再封装成新动态库编译生成可执行文件尝试GO---->C静态库---->C动态库。目标如果想把GO语言实现的功能集成到C固定接口上,中间需要多加一次封装。因为很难用GO直接封装已有实现,使得生产的动态库函数与目标接口一样的参数。GO语言生成的.h文件里函数的声明都是具有GO语言特性的变量类型。...原创 2018-09-29 12:27:33 · 788 阅读 · 0 评论 -
C语言调用GO语言生成的C静态库
一开始看别人的例子,自己弄总是不成功,后来也是去GO语言社区看多几个例子,找找规律,才把几个自己没注意到的细(keng)节填起来了。GO语言写一个函数cktest.gopackage mainimport ( "C" "fmt")//export test1func test1(str string) { fmt.Print...原创 2018-09-28 16:17:05 · 2826 阅读 · 0 评论 -
压缩算法gorilla paper encoding原理
目录引:IEEE754浮点数简述举例算法原理工作流程压缩结构简要分析压缩率测试小结:2019.5.23更新--源码:引:从之前研究TSM文件格式,发现float类型的value是以facebook的gorilla paper encoding的算法进行压缩。当时没有去深究,现在把这个算法的详细逻辑给理出来.这个算法是float的压缩,首先...原创 2018-09-06 19:06:58 · 6283 阅读 · 12 评论 -
influxdb内存中Cache数据结构详解
引:前面TSM文件格式解析(一到四)综合分析了不同case下的TSM文件格式,文件格式已基本清楚。写入磁盘是如此格式,那在写入磁盘之前的内存中是怎么存储的呢?通过第一篇influxdb初探https://blog.youkuaiyun.com/jacicson1987/article/details/81986234,了解到内存中的数据是存储在DBStore中的某个shard里,每个sha...原创 2018-09-05 19:20:22 · 2315 阅读 · 0 评论 -
M3DB存储引擎浅度探究
目录M3组件M3DB特性:M3DB限制:分布式机制存储引擎1.压缩算法2. 内存架构布局架构图架构说明:block分类持久存储:commitlogsnapshotblocksize灾难恢复存储策略写入属性简要流程读取属性流程后台进程TickingFlush大厂UBER背书过的M3存储解决方...原创 2018-09-11 18:15:46 · 7494 阅读 · 0 评论 -
TSM文件格式及实例解析(四)——string的排列
目录引:数据简析Indexes:blocks:关联string小结:TSM文件格式现已基本明了,某些压缩算法有空再去研究一下。引:现在想知道未压缩的文件格式是怎样。但是翻遍官方配置文档https://docs.influxdata.com/influxdb/v1.6/administration/config/#data-settings-data...原创 2018-09-04 15:59:45 · 1342 阅读 · 1 评论 -
TSM文件格式及实例解析(一)
目录 格式概述HeaderFooterIndexesDataBlocksTimeStampsData values实例分析数据产生数据分析小结:格式概述TSM文件格式如下Header Datablocks Indexes Footer 5 bytes N bytes N bytes 8 bytes...原创 2018-08-29 19:27:51 · 4461 阅读 · 2 评论 -
TSM文件格式及实例解析(三)——多field的排列
上一篇解析了多series的情况,得出结论为indexes和blocks 同一顺序存储,block内部timestamp和value也是列式存储。今天探究一下多field是如何排列的。数据先构造一组数据insert cars,brand=honda,model=fit mileage=10000,speed=60 1535354189281011006insert cars,br...原创 2018-08-31 16:28:10 · 649 阅读 · 0 评论 -
InfluxDB TSM存储引擎初探之东啃西啃
目录进程简介源码分析Monitor initMetaClient initTSDBstore initTCP复用器HTTPD开启TSDBstore服务Engine和Cache结构关系简图HTTP serviceMemory store结尾进程简介influx -------------- 命令行客户端influx_inspect--...原创 2018-08-24 12:08:04 · 1037 阅读 · 0 评论 -
TSM文件格式及实例解析(二)——多serieskey的排列
目录实例分析Indexes部分Block部分结论:小结:继上一篇继续解析TSM文件格式,上一篇的例子了解了TSM的大概格式,但是由于例子的单一性,还不了解多key, 多field, 不同field类型,不同时间间隔这些方面的压缩特点。这一篇先从多serieskey的文件入手。实例分析先上一份多key的文件按照之前了解的结构,先从indexes开始 off...原创 2018-08-30 18:32:11 · 878 阅读 · 0 评论