ByteBuffer实现Beringei压缩算法与一点心声

19 篇文章 0 订阅
7 篇文章 0 订阅
本文介绍了作者尝试用Java重构Facebook的Beringei压缩算法,详细讲解了编程思路,包括背景介绍、压缩算法的理解、编程实现的步骤以及核心函数`writeBits`的设计。通过对Gorilla压缩算法的实现,作者强调了编程中分治思想、数据结构和算法的重要性,并分享了重构过程中的经验和感悟。
摘要由CSDN通过智能技术生成

目录

 

背景简介

背景资料

编程思路

代码实现


背景简介

Gorilla是Facebook内部使用且已开源的时序数据库的软件原型,该时序库主要是针对互联网系统的基础监控,主要目的在于对海量时序数据进行快速入库,快速聚合查询,秒级响应前端呈现;优点在于节省了网络传输带宽和存储带宽。

但是,Gorilla的具体实现Beringei,考虑详尽,依赖众多,是一个大型的C++工程。菜鸟一枚,重构整个大的工程并不现实。在过去阅读源码的时间里面,有很多收获和感触,比如Facebook这样的大厂是如何来降低圈复杂度的,函数提取和数据表驱动;如何从细节处一点一点的抠性能的,STL;该如何实现线程安全,局部变量到加锁再到无锁编程。同时也很痛苦,文档匮乏,只能一点点地去摸索具体的数据结构;多重继承,即使在Source insight里面看,都不能完整地整理出接口的调用关系(捂脸,当时太水了,只会IDE调试不会调gdb调试);知道它的局限,却不知如何做功能的改进和性能的调优。自学校毕业后一年多来都在测试,终究是编码水平有限,应当多思

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值