五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

代碼人生丨C++程序員容易走入性能優(yōu)化誤區(qū)!對(duì)此你怎么看呢?

2020-06-22 16:28 作者:C語言編程__Plus  | 我要投稿

有些C++ 程序員,特別是只寫C++ 沒有寫過 Python/PHP 等慢語言的程序員,容易對(duì)性能有心智負(fù)擔(dān),就像著了魔一樣,每寫3 行代碼必有一行代碼因?yàn)樾阅芸紤]而優(yōu)化使得代碼變形(復(fù)雜而晦澀)。

我認(rèn)為,任何系統(tǒng)級(jí)的代碼,都不應(yīng)該刻意地在代碼層面"形式化"地在表面功夫上面考慮性能優(yōu)化,而是應(yīng)該把心思放到如何讓代碼更簡潔和清晰上面。如果邏輯清晰度能提高10%,代碼行數(shù)能減少10%,即使單個(gè)模塊性能下降20%,也應(yīng)該做這筆交易。理論上,即使單個(gè)模塊性能下降20%,整個(gè)系統(tǒng)的性能下降也許只有1%(阿姆達(dá)爾定律)。根據(jù)經(jīng)驗(yàn),如果代碼行數(shù)減少邏輯清晰度增加,帶來的往往是性能提升而不是下降。

如果一個(gè)C++ 寫的系統(tǒng)中用到了超過 3 處 std::move,就證明程序員有心智負(fù)擔(dān)了。?std::move 并不是性能優(yōu)化的手段,而是檢測系統(tǒng)是否變臭的標(biāo)記。為了不讓檢測方法失效,也就是為了避免程序員逃避檢測,?std::move 外面裹了一層糖衣,吸引那些著了魔的程序員主動(dòng)來接受檢測主動(dòng)暴露。這個(gè)符號(hào)證明程序員花了大量的精力去追求表面功夫,而不是把心思放在如何讓系統(tǒng)更簡潔和清晰上面。

lock free 也是檢測一個(gè) C++ 系統(tǒng)是否發(fā)臭的標(biāo)記,如果你能在代碼中感受到程序員在極力避免使用鎖,也就是明明可以用一行鎖解決的事,它偏偏封裝了5 個(gè)輔助類,引入了3 個(gè)概念,那么,顯然你也聞到了發(fā)臭的味道。

為什么要強(qiáng)調(diào)C++ 呢? 因?yàn)橐粋€(gè) C++ 程序員誕生的時(shí)候,他有極高的機(jī)率沾染上"過度優(yōu)化"的毛病,這個(gè)毛病一直伴隨許多C++ 程序員的職業(yè)生命周期。這是一個(gè)慢性病,影響程序員的個(gè)人職業(yè)發(fā)展,毀壞程序員參與開發(fā)的系統(tǒng)。

自學(xué)C/C++編程難度很大,不妨和一些志同道合的小伙伴一起學(xué)習(xí)成長!

學(xué)習(xí)C/C++編程知識(shí),提升C/C++編程能力,歡迎關(guān)注UP一起來成長!
另外,UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~


代碼人生丨C++程序員容易走入性能優(yōu)化誤區(qū)!對(duì)此你怎么看呢?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
兴文县| 宁河县| 临武县| 隆尧县| 南雄市| 牟定县| 清苑县| 通化市| 福建省| 高淳县| 肇东市| 建平县| 光泽县| 修武县| 重庆市| 武隆县| 文成县| 东港市| 屯留县| 青龙| 怀远县| 昌乐县| 临沭县| 来安县| 扬中市| 栾城县| 日喀则市| 九龙县| 巴东县| 乐清市| 广平县| 威信县| 蒙城县| 陵水| 蓝山县| 林西县| 江安县| 鸡东县| 子洲县| 郓城县| 阿克|