性能优化简记十二(函数优化)
头条
SEO资讯 2019-02-09 11:00:02 字数:1752

函数优化主要包括两方面,一是减少函数调用的开销,二是增加编辑器优化的潜在能力

性能优化简记十二(函数优化)

  • 减少入参和局部变量个数

函数调用过程中,需要将函数入参、局部变量和函数返回地址压栈,待函数调用完毕后,将这些数据从栈中弹出。需要注意的是,程序会优先使用寄存器来存储这些对象,如果寄存器不够,才使用栈来保存。如果只有少量的入参和局部变量,则寄存器就足以满足需求,性能提升好多。但切记千万不要刻意消减变量个数,以免引起其他方面的损失。

  • 尽量使用void修饰

如果函数没有返回值,或者返回值无意义,则无需返回值,使用void函数修饰即可。这样可以减少函数返回值出栈的开销。

  • 指针代替结构体入参

如果使用结构体入参,则需要重新拷贝一份,压入栈中,开销很大。如果使用指针,则只需压入指针即可,可以减少压栈时间开销。

  • const,static等修饰符

条件允许的情况下,尽量使用const、static等修饰符来修饰。给编译器更多的信息,能够帮助其更好的优化。

  • inline函数

对于短小简单的函数,建议使用inline修饰。当编译器编译时,根据情况会在函数调用处直接展开。好处是即减少了函数调用的开销,也进一步增加了编译器上下文优化的可能性。通常的话,inline会与static联用。单独的inline函数,编译器会认为在其他文件中也有可能会被调用,因此不一定会内联。加上static,则只在这个文件中使用,编译器通常就会执行内联编译。

欢迎关注媒体号没隆隆,一起学习分享关于编程的相关知识,共同进步前进。
0人参与回答
  • 未添加任何数据~~

提示信息

联系电话:
1585150508*
QQ交谈:
小编
站长微信:
站长邮箱: service@qingjiuzhubei.com