最近一直在进行Doris的向量化计算引擎的开发工作,在进行CPU热点排查时,发现了存储层上出现的CPU热点问题.于是尝试通过SIMD的指令优化了这部分的CPU热点代码,取得了较好的性能优化效果.借用本篇手记记录下问题的发现,解决过程一些对于C/C++程序性能问题的一些解决思路,希望各位也能有所收获. 1.热点代码的发现 最近在进行Doris的部分查询调优工作,通过perf定位CPU执行热点时,发现了以下的热点部分: 这里通过perf可以看到,将近一半的CPU耗时损耗在BinaryDictPage…
最近居家中,对自己之前做的一些工作进行总结.正好有Doris社区的小伙伴吐槽向量化的导入性能表现并不是很理想,就借这个机会对之前开发的向量化导入的工作进行了性能调优,取得了不错的优化效果.借用本篇手记记录下一些性能优化的思路,抛砖引玉,希望大家多多参与到性能优化的工作总来. 1.看起来很慢的向量化导入 问题的发现 来自社区用户的吐槽:向量化导入太慢了啊,我测试了xx数据库,比Doris快不少啊.有招吗? 啊哈?慢这么多吗? 那我肯定得瞅一瞅了. 于是对用户case进行了复现,发现用户测试的是代码…
二值图像的细化算法也有很多种,比较有名的比如Hilditch细化.Rosenfeld细化.基于索引表的细化.还有Opencv自带的THINNING_ZHANGSUEN.THINNING_GUOHALL喜欢等等.这些都属于迭代的细化方式,当然还有一种是基于二值图像距离变换的细化方法,二值想比较,我个人认为是基于迭代的效果稳定.可靠,但是速度较慢,且速度和图片的内容有关,基于距离变换的版本,优点是速度稳定,但是效果差强人意.本文这里还是选择基于迭代的方式予以实现. 相关的参考文章有:http://c…
笔者作为Apache Doris的开发者,平时感觉相关Doris的文章写的很少.主要是很多时候不知道应该去记录一些怎么样的问题,感觉写的不好就会很慌张.新的一年,希望记录自己在Doris开发过程之中所遇到一些有意思的事情.(只希望能坚持下来,别打脸~~) 言归正传,回到本篇想聊的问一个问题,笔者在开发ODBC of Doris的工作之中,发现通过MySQL 8.0的Driver连接Doris总是提示密码验证失败.但是由于开发工作繁忙,一直没有腾出手解决这个问题.最近重新抽时间梳理了一下这个问题,…
Apache Doris的BE部分是由C++编写,当出现一些内存越界,非法访问的问题时会导致BE进程的Crash.这部分的问题常常较难排查,同时也很难快速定位到对应的触发SQL,给使用者带来较大的困扰.所以下面会介绍通过Linux的CoreDump快速定位到问题SQL,并复现问题的方式. 1.查看日志 当BE进程Crash的时候,可以先查看be.out日志,确认是否存在stack trace的记录.当BE出现进程Crash的时,都会将运行时的堆栈打印到be.out文件中,一般如下图所示: 但是由…
字节按位反转算法,在有些算法加密或者一些特殊的场合有着较为重要的应用,其速度也是一个非常关键的应用,比如一个byte变量a = 3,其二进制表示为00000011,进行按位反转后的结果即为11000000,即十进制的196.还有一种常用的应用是int型变量按位反转,其基本的原理和字节反转类似,本文仅以字节反转为例来比较这个算法的实现. 一种最为传统和直接的算法实现如下: unsigned char Reverse8U(unsigned char x) { x = (x & | (x & ;…
作者:Yaong 出处:https://www.cnblogs.com/yaongtime/p/14111134.html 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作者同意,必须保留此段声明:必须在文章中给出原文连接:否则必究法律责任   if-then-else.loop控制语句的后端实现   本文是通过代码而来,主要记录了在SIMD指令集上,编译器后端对控制语句(if-then-else.loop)的指令生成方法.   引言: "A unique feature of mos…
用Netty开发中间件:高并发性能优化 最近在写一个后台中间件的原型,主要是做消息的分发和透传.因为要用Java实现,所以网络通信框架的第一选择当然就是Netty了,使用的是Netty 4版本.Netty果然效率很高,不用做太多努力就能达到一个比较高的tps.但使用过程中也碰到了一些问题,个人觉得都是比较经典而在网上又不太容易查找到相关资料的问题,所以在此总结一下. 1.Context Switch过高 压测时用nmon监控内核,发现Context Switch高达30w+.这明显不正常,但JV…
[分享]源代码&开发手记:SAE应用"车百科" (Python + SAE + Bottle + Bootstrap) - Bottle - Python4cn(news, jobs) [分享]源代码&开发手记:SAE应用"车百科" (Python + SAE + Bottle + Bootstrap)…
千呼万唤始出来,终于今天拿到了HoloLens真机. 使用体验 使用自带的应用录制了一段使用视频,如下 设备概览 包装盒 本体 试戴 实际效果 GalaxyExplorer试玩 全息图像贴到现实场景表面 优点 宣传视频中的核心特性均已具备,而且正如前几天发出的<HoloLens开发手记-硬件细节 Hardware Detail>一文内容,HoloLens硬件细节均一致. 硬件性能略有提升,比西雅图时试用的体验机流畅了很多 修复了频繁重启的bug,发热略有降低 场景匹配流畅,准确率高 更多细节仍…