首先我们要知道那些操作会影响运行效率:站在汇编的角度看有哪些地方
1. 有读数据的操作
2. 有寄存器赋值的操作
3. 大量内存换入换出
4. 大量内核太和用户态 切换的操作
知道了这些我们就知道如何提高代码效率。
1.结构体赋值 struct a = b和copy 的效率是相同的(汇编可查看 ), 但有一点要注意 如果结构体里有指针就比交危险 如果b 的指针free 了 b 的指针就没有了。所以不推荐。
2. 如何提高c 代码效率
a. 算法选择 合适的算法能提高 不少效率
b. 选择合适的数据结构也能提高 效率
c 减少copy, 拷贝需要不停的入栈 出栈 这就比较低效
多用指针,少用数组 传值。 较少零食变量的使用。少赋值操作 多引用
d. 较少运算的复杂度 多用 ++ -- a=a%8 -->a=a&7 a=4a -->a=a<<2
e. 减少消耗内存耗时
需要在循环中定义变量
f: 减少跳转和内存切换
跳转需要保存现场,需要内存切换
please refer C:提高C代码运行效率的方法有哪些?列举几个提高代码执行效率的方法_Evan_ZGYF丶的博客-CSDN博客_c语言提高程序执行效率