编译器优化和cpu优化
编译器优化
减少不必要的代码或指令以达到优化;
CPU优化
关系密切的操作提前执行,而不是顺序执行;
优化带来的问题
莫名其妙的bug,且不容易复现;
编译器指令优化
volatile
修饰的变量,和它有关的代码都不会优化;- 但是默认会优化
cpu
缓存更新
处理器的cpu
发送队列和接受队列并不会实时处理; 而是触发机制;
cpu
提供了对应的指令进行强制处理; w,r barrier.
, 这样就可以强制刷新发送队列或接受队列;
避免编译重排
__asm__ __volatile__("":::"memory")
- 但是默认会重排
cpu
的重排
- 相似相近的代码提前执行; 默认重排
- 查看对应处理器文档,提供的相关汇编指令;
参考
https://developer.arm.com/documentation/den0042/a/Memory-Ordering/Memory-barriers
https://stackoverflow.com/questions/22106843/gccs-reordering-of-read-write-instructions
https://en.wikipedia.org/wiki/Memory_barrier
https://stackoverflow.com/questions/39062100/how-does-cpu-reorder-instructions
编译器优化和cpu优化相关推荐
- 【linux】性能优化之CPU优化一
文章目录 一.前言 二.性能统计信息 1. 平均负载率. 2. 平均负载率命令 uptime 3. 平均负载和CPU使用的关系 4. 如何定位哪个进程出现问题 一.前言 因为以前只是了解了linux的 ...
- KVM总结-KVM性能优化之CPU优化
前言 任何平台根据场景的不同,都有相应的优化.不一样的硬件环境.网络环境,同样的一个平台,它跑出的效果也肯定不一样.就好比一辆法拉利,在高速公路里跑跟乡村街道跑,速度和激情肯定不同- 所以,我们做运维 ...
- Nginx性能优化之cpu优化
如何有效的使用cpu? 1.如何增大Nginx使用cpu的有效时长? 能够使用全部cpu资源:master-worker多进程架构,woker进程数量应该大于等于cpu核数 Nginx进程间不做无用功 ...
- Linux性能优化之CPU、内存、IO优化
Linux 的性能进行监测,以下是 VPSee 常用的工具: 工具 简单介绍 top 查看进程活动状态以及一些系统状况 vmstat 查看系统状态.硬件和系统信息等 iostat ...
- 【Android CPU 优化】Android CPU 调优 ( Trace 文件分析 | Android Profiler 工具 | CPU Profiler 工具 )
文章目录 一.Android CPU 优化 二.CPU Profiler 工具 三.相关资源 一.Android CPU 优化 在 Android 中 , 出现 动画掉帧 , 页面切换白屏 , 卡顿 ...
- Android应用开发之CPU优化
最近开发一个APK的时候遇到了一个问题,CPU动不动就占用到40%以上,而且是一个服务型的常驻内存APK,这样子肯定不行的,CPU发热可能会过高.这个APK需要优化,包括内存优化,结构优化,CPU优化 ...
- Lua性能优化—Lua内存优化
原文链接https://blog.uwa4d.com/archives/usparkle_luaperformance.html 这是侑虎科技第236篇原创文章,感谢作者舒航供稿,欢迎转发分享,未经作 ...
- 性能之巅:定位和优化程序CPU、内存、IO瓶颈
摘要:性能优化指在不影响系统运行正确性的前提下,使之运行得更快,完成特定功能所需的时间更短,或拥有更强大的服务能力. #一.思维导图 #二.什么是性能优化? 性能优化指在不影响系统运行正确性的前提下, ...
- 大前端CPU优化技术--NEON技术
前言 在上一篇中我们讲了SIMD技术的基础和前世今生,可以结合上一篇文章一起看大前端CPU优化技术--SIMD技术.今天我们全局性地讲解下NEON技术. 目前主流的移动设备以ARM v7和v8版本架 ...
最新文章
- solr 下载 有dist目录的(6需要8)
- Mybatis---总结
- Ubuntu中安装sqldeveloper出现的问题及其解决方法
- Runtime's DiskExplorer手工填写分区表
- 前后台传值乱码问题解决
- 瞧瞧苹果OS X如何干掉Linux
- 没光驱怎么重装电脑系
- 无向图的深度优先遍历非递归_图算法总结
- eDiary电子日记本
- 由mysql将视图数据导入Spss,发现别名字段数据不准确
- Hibernate的出现和Hinbernate的简单模拟实现
- 用JS实现简单的省市联动
- ZK在Eclipse下的环境搭建
- 基于JavaWEB+MySQL的宾馆管理系统设计与实现
- 如何使用SPSS判断数据的正态分布
- 【PROTEUS】使用PROTEUS与电脑串口调试助手进行通讯
- Google 2020 应用与游戏出海 6 月刊: 政策先行,护航应用远洋
- 看一点逻辑学,试图理解一点真相
- Leetcode剑指offer——面试题10- II. 青蛙跳台阶问题
- HDU2121:Ice_cream’s world II (虚根+有向图最小生成树)