Profiler扛旗人不在知乎了…
這種問題,從來都不是這麽缺資訊問的。
就好比你問我,一個零件便宜一分錢,值嗎?
那得看零件是啥。
一台火箭發動機省一分錢,謝謝,下次不用了,您該忙啥忙啥去吧。
一個螺絲省一分錢,大哥,慢慢搞別急,省不出一分給我省半分也行。
程式裏也是。一個總共執行一次的函數,省了幾毫秒;一個全世界可能只需要一份拷貝的數據,省了幾kb。那當然是沒必要。
但如果是比如內核裏的每秒呼叫幾萬次的函數,別說省一毫秒了,省一個時鐘周期都值得考慮一下。或者大量拷貝的數據結構,比如執行緒場景,那省一個字節也值得考慮一下。
判斷你的程式的呼叫模式的工作叫Profiling(具體含義轉譯成中文挺難說清楚的,貼個英英字典連結:Definition of PROFILE)。當然實際要考慮的也並不總是總共省多少時間之類的事情,還有比如關鍵路徑上的考量等等。但總之,
先Profile,再最佳化。