自动驾驶中localization模块latency延迟过大问题排查

背景:在移植localization模块到orin平台时,仿真发现localization模块的频率很低,十分不正常。

排查过程:

  • 通过monitor检测模块发现,运动补偿部分延迟比较大,一开始怀疑运动补偿调用的第三方库plc和eigen可能除了问题,排查后发现是正常的。
  • 后面开始加计时打印在运动补偿部分,后面发现在一个处理雷达数据的大循环里,耗时十分大。大循环导致的耗时过大问题怀疑是编译选项的问题,没有进行编译优化导致的。
  • 后面发现是单独编译localization模块的时候,编译选项没有加-c -opt导致的

    --compilation_mode (fastbuild|opt|dbg) (-c)
    --compilation_mode 选项(通常简称为 -c,尤其是 -c opt)采用 fastbuild、dbg 或 opt 的参数,这会影响各种 C/C++ 代码生成选项,例如优化级别和调试表的完整性。Bazel 为每种不同的编译模式使用不同的输出目录,因此您无需在每种模式下进行完全重新构建,即可在模式之间切换。
    fastbuild 表示尽快构建:生成最少的调试信息 (-gmlt -Wl,-S),并且不进行优化。这是默认值。注意:不会设置 -DNDEBUG。
    dbg 表示在启用调试功能 (-g) 的情况下进行构建,以便您可以使用 gdb(或其他调试程序)。
    opt 表示在启用优化的同时停用 assert() 调用 (-O2 -DNDEBUG) 的 build。除非您同时传递 --copt -g,否则不会在 opt 模式下生成调试信息。

    加了 -c 选项后 toolchain中的BUILD里的编译优化选项才生效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值