03 2024 档案

摘要:C++ 中的 volatile 和 atomic 0. TL;DR std::atomic 用于多线程并发场景,有两个典型使用场景: 原子操作:对 atomic 变量的操作(读/写/自增/自减)仿佛受互斥量保护。一般通过特殊的机器指令实现,比使用互斥量更高效 限制编译器/硬件对赋值操作的重新排序 v 阅读全文
posted @ 2024-03-31 13:52 Zijian/TENG 阅读(630) 评论(0) 推荐(0) 编辑
摘要:问题背景 程序退出过程中卡死,但是一旦开启 log 就无法复现问题。于是考虑获取程序卡死时的 coredump 文件,分析其调用栈。一种方法是在程序卡死时,用 kill 命令向其发送一个信号,使程序产生 coredump 文件。 前提 Target 上可以产生 core 文件(如 /tmp/<exe 阅读全文
posted @ 2024-03-17 16:19 Zijian/TENG 阅读(311) 评论(0) 推荐(0) 编辑
摘要:之前的“性能优化的一般策略及方法”一文中介绍了多种性能优化的方法。根据以往的项目经验,开启编译器优化选项可能是立竿见影、成本最低、效果最好的方式了。 这么说可能还不够直观,举个真实的例子:我所参与的自动驾驶的项目中,无需修改任何代码,仅仅增加一个 -O2 选项,进程整体的 CPU loading 可 阅读全文
posted @ 2024-03-15 20:25 Zijian/TENG 阅读(7212) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示