您现在的位置是:首页 > 文章详情

腾讯开源高性能日志系统 BqLog

日期:2024-08-08点击:228

腾讯宣布开源 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引擎常用数据类型的支持。

原文链接:https://www.oschina.net/news/305958
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章