首页 > 其他分享 >嵌入式代码优化技巧

嵌入式代码优化技巧

时间:2024-06-08 09:14:42浏览次数:12  
标签:技巧 复杂度 嵌入式 代码优化 线程 内存 拷贝 优化 指针

内存管理技巧

1.C/C++工程应尽量避免深拷贝,尽量用浅拷贝(指针或者引用),如果指针需要频繁拷贝,用智能指针是一种不错的选择

2.启用内存池管理线程的内存开销,事先在堆里边分配好,然后快速使用

避免复杂的浮点运算

1.复杂的浮点运算尽量避免,有些芯片是不支持硬件双精度浮点数的,比如全志T3,实在是非用不可,可以用查表的方式加快速度

2.数据传输可以用整型数据压缩减少带宽,这个在can数据传输比较常见

空间换时间

比如一个数据模型体积很大,加载起来很耗时,可以考虑把它编译到软件里边去,然后运行的时候提前加载到内存

算法复杂度优化

1.时间复杂度,减少循环使用次数

2.空间复杂度的角度优化

并行框架

openMP了解一下,在关键的代码段加上omp并行处理

字节对齐

用好字节对齐功能可以优化cpu流水线的处理效率

内核态的利用

可以把一些业务操作写进驱动,利用操作系统的调度优化,内核态用户态哪一个更高效,这个是相对的,得看系统调用和库函数的颗粒度,可以值得尝试一下

线程调度

尝试调整一些线程的优先级提高调度效率,另外Linux也允许绑核操作

防御性编程

  • 申请一段buffer后总是习惯性的将其内容memset为0,当然这是针对plain类型的数据,防止在数据解析的时候解析到不合法的数据

  • 总是习惯性的判断数组的边界

  • 申请指针不应该悬空,应该给它一个值或者是nullptr,使用前判断它是否为空

  • 巧用断言

标签:技巧,复杂度,嵌入式,代码优化,线程,内存,拷贝,优化,指针
From: https://www.cnblogs.com/hywing/p/18238194

相关文章

  • 关于反诉状的写作技巧与策略
    关于反诉状的写作技巧与策略反诉状是民事诉讼中的一种重要法律文书,它允许被告在原告提起诉讼后,对原告提起反诉,以抵消原告的诉讼请求。李秘书这节就详细介绍反诉状的写作方法和技巧,帮助您更好地应对此类诉讼。一、要写明反诉状的基本要素1.原告信息:略2.被告信息:略3.事......
  • PMP考前必看,这些技巧你需掌握!
    相信很多报考PMP的很多人都是出社会工作几年了,很久没参加过考试了的。所以给大家整理PMP考试的注意事项,助力大家顺利上岸~在PMP考试的最后冲刺阶段呢,最重要的是查漏补缺,扬长补短。具体可以从以下几个方面入手:考前三个好习惯不要犹豫考前不要想太多,不管你之前有没有基础,不去......
  • GitHub狂揽6700 Star,Python进阶必备的案例、技巧与工程实践
    当下是Python急剧发展的时代,越来越多的人开始学习和使用Pyhon,而大家也遇到了各种问题。这份手册清晰、细致地介绍了Python代码应该遵循的编程风格,并解释了背后的原理和机制。入门Python语言相对简单,但写出优雅的代码并非易事。这份手册深入讲解了Python进阶知识的方方......
  • LangChain实战技巧之五:让模型“自动生成”Prompt(提示词)的两种方式
    预备知识with_structured_outputbind_tools对这两种方式不了解的朋友,可以翻阅我的这篇文章找到用法哈LangChain实战技巧之三:关于Tool的一点拓展实现方法方法一步骤一#首先,新建一个提示词抽取器prompt_extractor=ChatPromptTemplate.from_template(template="""......
  • 新品发布 | 飞凌嵌入式RK3576核心板,为AIoT应用赋能
    为了充分满足AIoT市场对高性能、高算力和低功耗主控日益增长的需求,飞凌嵌入式全新推出基于RockchipRK3576处理器开发设计的FET3576-C核心板!集成4个ARMCortex-A72和4个ARMCortex-A53高性能核,内置6TOPS超强算力NPU,为您的AI应用赋能。核心板采用板对板连接方式,可插拔式设计便......
  • 【C++进阶】深入STL之list:高效双向链表的使用技巧
    ......
  • 嵌入式Linux系统编程 — 2.1 标准I/O库简介
    目录1标准I/O库简介1.1 标准I/O库简介1.2 标准I/O和文件I/O的区别2 FILE指针3标准I/O库的主要函数简介4 标准输入、标准输出和标准错误4.1标准输入、标准输出和标准错误概念4.2示例程序5 打开文件fopen()5.1 fopen()函数简介5.2 新建文件的权限5.3......
  • AI降痕技巧:避免AIGC检测的智能策略
    告诉大家一个非常残忍的答案,以后所有论文都会被查ai的。在考虑使用AI撰写学术论文的便捷性时,你可能会问:学术界难道没有预见到这种行为吗?答案是肯定的。学术界不仅关注传统的抄袭问题,还针对AI生成内容(AIGC)增加了一项名为“AIGC检测”的指标。这一检测的目的,正是为了识别和惩处......
  • 嵌入式Linux中的录音降噪方案
    降噪不仅只能从硬件入手,本文为您介绍一种嵌入式Linux中的录音降噪方案。该方案完全依靠软件实现,最大程度上降低投入。1. 工具下载SoX(Sound eXchange)是一个开源的音频处理工具,它可以用来读取、转换和处理各种音频文件。SoX的源代码主要由C语言编写,它包含了大量的音频处理算法......
  • python 正则表达式使用简介和实用技巧
    元字符释义.代指任意字符^从字符串开始匹配$匹配字符串的结尾*匹配前面挨着的字符,能匹配0到无穷次+同*,能匹配1到无穷次(最少1个)?匹配前面挨着的字符,匹配0或1次{}自定义匹配次数,{1,6}匹配1到6次,{6}匹配6次(重复匹配前面挨着的字符)......