YYGCui

思考自然的本性,抚摸上帝的脉搏

ROS2高性能使用

在做性能优化时,发现 ros::spin 的线程有些节点的 CPU 占比比较大,通过 perf 抓取性能日志分析,主要集中在几点:subscription 注册的 callback 消耗大,subscription 时反序列化操作消耗大,publish 时存在一定的动态内存消耗等等。为优化以上性..


Eigen高性能使用

之所以写这个话题,是因为在实际工作中遇到了相关的问题,比如在定位coredump问题时发现是因为Eigen内存未对齐导致,比如在优化性能时发现有隐含的动态内存申请是因为使用动态矩阵导致… 基于上述实际问题,发现很多人只是会使用这个库,但是不知道怎么使用更高效,所以整理了以下规范。 Eigen 是..


智能驾驶 DevOps

DevOps 这一开发理念在2009年被提出后,经过十几年的发展,已经非常成熟了,特别是在微服务架构被提出并流行开来,进一步推动 DevOps 实践深入发展。DevOps 既然已经这么成熟了,我们为啥还要写这个话题?笔者认为理念是成熟的,但应用的业务场景是日新月异的,怎么把这一成熟的理念应用到各..


使用C++模板的一些技巧

模板是什么 模板(Template)在C++ 程序设计语言中,是指函数模板与类模板[1],是一种参数化类型机制。Java和C#中的泛型与C++ 的模板大体对应,但也有一些功能上的显著差异(C++ 模板支持两者没有明确对应的模板模板参数和模板非类型参数,但不支持Java的通配符以及C#的泛型类型约..


记一次内存泄漏定位

最近测试时发现,运行相对较长一段时间后进程因内存使用超过配额上限而被杀掉,这应该是内存缓慢增长导致的,也就是说出现了内存泄漏。这个进程代码是用C++实现的,且基本没有使用malloc/free, new/delete等显式的内存申请释放,但代码中大量使用了标准库的容器类。这种因为业务逻辑导致容器..


线程池并行化重构

最近业务新特性开发,由原来的单个action变成了多个action,最后取一个最优action。由于action变多,运行时间也相应多了几倍,action之间是相互独立,互不影响的,那么就想通过并行化的方法提升下性能,这个时候自然而然就想到了线程池。本文记录一下此次并行化重构业务代码时遇到的一些..


恢复Hexo博客环境

博客荒废了好些年了,这段时间觉得没有大的、好的主题可以写,就一直处于断更状态。最近发现就当笔记记录一些东西备查也是挺好,如果再次过程中还能对他人有一点帮助,那就更好了。是时候捡起来继续了,首先要恢复出本地的写作及部署环境,这里记录一下以备下次使用… WSL环境 如果直接使用Windows或Mac..


我的2017个人总结

燕子去了,有再來的時候;楊柳枯了,有再青的時候;桃花謝了,有再開的時候。但是,聰明的,你告訴我,我們的日子為什麼一去不復返呢?──是有人偷了他們罷:那是誰?又藏在何處呢?是他們自己逃走了罷:現在又到了那裡呢? 朱自清匆匆 每年这个时候总结一下,看看去年的目标实现的怎么样,今年有哪些计划。 201..