代码效率

本文分享了提升代码运行效率的十二种实用技巧,包括优化算法、使用多线程、合理分配线程任务、内联函数及宏函数的应用等,特别适合大数据量处理与实时操作场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里指的是代码运行的效率,目前在学习体数据可视化的知识,由于数据量较大,且对实时操作的流畅性有一定要求,这一年来我比较关注程序运行的效率。

由于不涉及算法本身,因此比较通用,目前我从这几个方面对原有的显示方法进行了优化(CPU运算):

1.首先要保证调用结构清晰,尽量避免出现重复运算,例如,某些预处理工作并非在每一次操作时都需要重新计算;

2.算法优化(核心计算方法优化)往往能大幅提高运行效率,应首先着眼于计算原理的优化,框架搭的好坏直接影响了代码效率的上限,好比麻布上绣花的问题;

3.多线程是提高算法效率最简单的方法;

4.分配线程时尽量让各线程的工作量尽量相当,避免线程浪费;

5.尽量将线程共有的计算提取出来单独进行加速;

6.把经常调用的小型函数写成内联函数有加速效果(编译器会自动内联一些函数,可以查看汇编码检查是否有内联);

7.宏函数的效率高于内联函数,但是宏函数容易出现问题,一定慎之又慎;

8.应在核心代码中尽量减少避免使用除法(随着CPU技术的发展似乎差距正在被抹除);

9.使用查表(损失一定精度)代替一些复杂运算(如复杂的插值运算可以用查表简化为线性运算);

10.使用按位操作进行运算有提速效果,代价是程序可读性差;

11.整型运算速度大于浮点型运算速度(仅实验了CPU,且不同CPU情况不一样),可以考虑用整型变量储存浮点数(把高位当做整数部分,低位当做小数部分);

12.可以使用SSE2(Streaming SIMD Extensions 2)加速程序(可读性差);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值