最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
都匀市| 青海省| 崇阳县| 海门市| 任丘市| 团风县| 牟定县| 冀州市| 图木舒克市| 奉新县| 万山特区| 于田县| 古交市| 厦门市| 富裕县| 河西区| 巴彦淖尔市| 米易县| 溆浦县| 岫岩| 丹东市| 通榆县| 和田市| 司法| 新竹市| 府谷县| 边坝县| 宁海县| 包头市| 宜昌市| 彝良县| 四川省| 繁峙县| 堆龙德庆县| 舞阳县| 当阳市| 旬阳县| 蛟河市| 界首市| 康平县| 柘荣县|