Profiler扛旗人不在知乎了…
这种问题,从来都不是这么缺信息问的。
就好比你问我,一个零件便宜一分钱,值吗?
那得看零件是啥。
一台火箭发动机省一分钱,谢谢,下次不用了,您该忙啥忙啥去吧。
一个螺丝省一分钱,大哥,慢慢搞别急,省不出一分给我省半分也行。
程序里也是。一个总共运行一次的函数,省了几毫秒;一个全世界可能只需要一份拷贝的数据,省了几kb。那当然是没必要。
但如果是比如内核里的每秒调用几万次的函数,别说省一毫秒了,省一个时钟周期都值得考虑一下。或者大量拷贝的数据结构,比如线程场景,那省一个字节也值得考虑一下。
判断你的程序的调用模式的工作叫Profiling(具体含义翻译成中文挺难说清楚的,贴个英英字典链接:Definition of PROFILE)。当然实际要考虑的也并不总是总共省多少时间之类的事情,还有比如关键路径上的考量等等。但总之,
先Profile,再优化。