腾讯开源高性能日志系统 BqLog
腾讯宣布开源 BqLog,一个源于《Honor Of Kings》(王者荣耀国际服)的,轻量级、跨平台、高性能的日志组件。由C++实现,同时支持Java,C#的调用。可以用于Unreal、Unity等游戏引擎,也能用于Android、IOS环境下的App。在Windows、Mac、Linux等的桌面和服务器环境也能够很好运行。
主要特点
-
高并发,高性能
现在业界有很多开源日志组件,不管是Java,C++还是其他语言实现,通过实测,性能最高的还是Log4j2,当其运行于异步模式下的时候,对比其他日志组件有巨大的性能优势。而BqLog同样运行在异步模式下的时候,比Log4j有5倍以上的性能提升(见Github内的README和benchmark)。同时在Java和C#环境下使用的时候,可以做到无GC。
-
低内存
由于BqLog源自手机游戏,所以必须适应严苛的内存使用限制。整个组件本身的内存消耗只在1M左右。
-
高压缩比
BqLog推出了一种自有知识产权的日志压缩格式,在日常环境中,最后生成的日志不仅尺寸只有文本格式的20%到30%左右,其写入性能还超出普通格式很多。(见Github内的README和benchmark)
-
防数据丢失
异步日志最大的问题是当程序发生异常结束的时候,内存里的数据还没来得及写入日志文件,BqLog提供了多种解决方案用于避免数据丢失。
-
高泛用性
BqLog提供动态库,静态库,源代码等多种导入方式,本身代码除了stdlibc之外,没有任何依赖。所以可以在Android NDK的ANDROID_STL=none的严格模式下通过编译。
-
可扩展
BqLog提供自定义adapter支持,可以用于适配各种不同的数据类型,本身已经默认提供了针对Unreal引擎常用数据类型的支持。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Jenkins Remoting远程代码执行漏洞
漏洞描述 Jenkins 是由Java编写的开源持续集成工具,Remoting 库用来实现控制端和 agent 端之间的通信。 受影响版本中,由于 ClassLoaderProxy#fetchJar 方法未对 agent 端的请求路径进行限制,具有Agent/Connect权限的攻击者可通过 Channel#preloadJar Api读取控制端上任意文件(包括配置文件、密码等)并接管后台,进而在目标服务器远程执行任意代码。 补丁版本限制 Channel#preloadJar 请求只能发送Jar文件,限制 agent 端从控制端主动请求文件修复此漏洞。 漏洞名称 Jenkins Remoting远程代码执行漏洞 漏洞类型 代码注入 发现时间 2024-08-07 漏洞影响广度 - MPS编号 MPS-18jf-gwlv CVE编号 CVE-2024-43044 CNVD编号 - 影响范围 jenkins@[2.470, 2.471) jenkins@[2.462, 2.462.1) jenkins@[2.452, 2.452.4) 修复方案 将组件 jenkins 升级至 2.471 ...
- 下一篇
刘珊成为 RISC-V 国际基金会大使,全球仅 25 位
近日,RISC-V International(RVI)通过官网公布了全球第25位 RISC-V 大使(RISC-V Ambassador):来自北京开源芯片研究院的刘珊高级工程师,在经过了RISC-V国际基金会过去一年的观测与交流之后,成功获得RISC-V大使身份认证。 据介绍,刘珊在 RISC-V、模拟(Emulation)和 FPGA 加速领域有着丰富经验和专业知识。她同时是中国大陆地区第6位RISC-V大使。刘珊大使的加入,使得中国大陆地区在RISC-V大使数量上首次追平了北美大陆地区(美国、加拿大)。 RISC-V 大使的定义可以参考RISC-V国际基金会官网: RISC-V Ambassadors are individuals who are passionate about RISC-V and dedicated to growing and engaging the RISC-V community. They are the experts in the community and work together with RISC-V to help drive o...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器