自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 按需分页(Demand Paging)

Linux操作系统使用一种称为按需分页(Demand Paging)的内存管理策略。这种策略的主要思想是只有当程序真正需要使用某段内存时,才会将这段内存分配给程序。当程序请求分配内存时(比如通过malloc函数),操作系统并不会立即为其分配物理内存,而是先在虚拟地址空间中“预留”一块区域,等到程序真正访问这块内存时(比如通过读写操作),才会将物理内存分配给它。具体表现为当使用malloc申请内存时,如果部队申请到的内存作操作则不会为其分配物理内存,测试code如下;每次申请8M内存,打印VSS和RSS。

2024-05-10 19:18:13 243

原创 Nvidia GPU性能分析工具Nsight System

NVIDIA的Nsight System是一款性能分析工具,可以简单地理解为一种帮助用户查看和理解用到GPU程序在计算机上如何运行的工具。Nsight Systems会记录程序在运行过程中的各种信息,如每个任务的开始和结束时间、GPU的利用率、内存的使用情况等。然后,它会把这些信息以图形化的方式展现出来,让用户能够一目了然地看到程序的运行状况。

2024-05-10 12:06:08 998

原创 Folly

无论从理论实现上还是性能测试中,fbvector的性能均优于std vector;fbvector对内存管理上更加细粒,并且fbvector也广泛应用于一些对性能要求较高的工程上面。folly依赖于C++14,对于一些低版本的C++项目适配可能会存在问题;folly编译产物默认是静态链接库,在一定程度上会增加可执行文件的内存,也不利于OTA;关于第二点,项目ISSUE中也有讨论,可能在真正使用中应该进行一些必要的评估。

2024-03-21 15:12:08 1110 1

原创 ROS1源码阅读 -- 建立连接

节点间进行数据传输的前提是建立连接,ROS中节点间创建连接主要通过XmlRpc向master节点注册节点信息和订阅者发布者信息;master节点会根据注册列表进行Publisher和Subcriber的匹配,并将匹配结果通过RPC client发送给对应节点。

2024-03-18 09:37:31 899

原创 TVM模型C++部署

TVM C++部署demo

2024-03-17 23:15:10 551 1

原创 TVM调研

TVM简单的使用流程

2024-03-17 23:08:30 837 1

原创 Fast-DDS数据发布流程

2023-08-08 14:35:26 210 1

原创 Fast-DDS共享内存通信--初始化

DDS中数据的传输通过传输层实现,DDS定义了一个传输API,并且可以运行实现该API的插件;这样DDS就不局限于特定的传输,应用程序可以根据需要选择或实现适合需求的传输层插件。传输层位于Fast-DDS层级模型的最底层,传输层可以使用多种不同的传输协议。Fast-DDS具有五种已实现的传输插件,分别是UDPv4、UDPv6、TCPv4、TCPv6和SHM。Fast-DDS层级模型架构图。

2023-07-12 20:07:39 2865 1

原创 远程过程调用开源框架--gRPC

gRPC是由 google开发的一个高性能、通用的开源RPC框架,主要面向移动应用开发且基于HTTP/2.0协议标准而设计,同时支持大多数流行的编程语言。gRPC通过高度封装使远程过程调用变得更加简单,在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法

2023-07-04 13:22:19 320

原创 ROS2源码下载&编译

网站https://ghproxy.com/支持github的资源代理,可以用此代理加速rosdep对Github的访问,进而解决rosdep update失败问题。RCL库是ROS2中的C语言实现,它提供了一组API来访问ROS2节点的底层实现;RCL的主要功能包括:节点管理、时钟管理、参数管理和发布与订阅管理。RCLCPP库是ROS2中的C++实现,它基于RCL库,提供了易用的C++ API,方便开发者使用。RCL和RCLCPP是ROS2中两个重要的库,分别对应于ROS中的roscpp和roslib。

2023-07-04 11:57:07 2224

原创 ROS源码阅读:话题通信建立与消息传递

ROS即机器人操作系统(Robot Operating System),但是ROS本身并不是一个操作系统,而是一个软件库和工具集;ROS为简化机器人开发设计了一整套通信机制(话题、服务、参数、动作),通过这套机制可以将机器人的各个组件连接起来从而解决了机器人各个组件的通信问题;ROS中的通信方式主要包括话题通信、服务通信和参数管理器,其中话题通信在三种通信方式中应用最为广泛。

2023-07-04 11:09:34 519

原创 C++单例模式

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。

2023-04-02 21:05:16 212

原创 ROS1源码阅读 -- 初始化

ROS1源码阅读记录

2023-02-22 17:33:47 171 1

原创 ROS1 cv_bridge实践

ROS1 cv_bridge概述与编程实践

2023-02-15 11:05:05 1863 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除