亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

您現(xiàn)在的位置是:首頁 > 技術(shù)閱讀 >  C++服務(wù)性能優(yōu)化的道與術(shù)-道篇:阿姆達(dá)爾定律

C++服務(wù)性能優(yōu)化的道與術(shù)-道篇:阿姆達(dá)爾定律

時(shí)間:2024-02-10

開場(chǎng)白

在之前的文章 《2004:當(dāng)CPU溫和地走入那個(gè)良夜》 中我講到了2000年后摩爾定律的終結(jié),CPU時(shí)鐘頻率定格,多核成為CPU發(fā)展的新方向,并行計(jì)算成為趨勢(shì)。

在談到并行計(jì)算的時(shí)候我們不得不提的就是阿姆達(dá)爾定律。

阿姆達(dá)爾定律即 Amdahl's Law。是由美國計(jì)算機(jī)科學(xué)家 Gene Amdahl (1922/11/16 – 2015/11/10)在 1967 年提出,旨在用公式描述在并行計(jì)算中多核處理器理論上能夠提高多少倍速度。沒錯(cuò),學(xué)術(shù)界總是領(lǐng)先工業(yè)界幾十年。上世紀(jì)六十年代,多核并不是剛需,而Amdahl老爺子提出的這一定律卻為幾十年后的程序員們指引了方向。

公式定義

在程序未使用多核時(shí),有如下定義:

x表示的就是程序的執(zhí)行時(shí)間,其實(shí)和相同。a表示可以并行計(jì)算的代碼耗時(shí)占比。

如果這個(gè)程序在N核的CPU上執(zhí)行,則新的執(zhí)行時(shí)間為:

由于性能和耗時(shí)一般是成反比的,即耗時(shí)越低,表明性能越好。所以可以用如下公式表示性能:

表示性能提速(新性能是舊性能的多少倍)的效果:

一般將這個(gè)比值稱為加速比,加速就是speed up,簡(jiǎn)寫做S:故有如下公式:

n 為并行節(jié)點(diǎn)處理個(gè)數(shù),可以理解為 CPU 的核心數(shù)。

舉例探討

別小看這個(gè)數(shù)學(xué)公式,他幾乎可以讓你避免做很多性能優(yōu)化方面的無用功。

建設(shè)你的線上服務(wù)跑在一個(gè)32核的機(jī)器上,服務(wù)代碼中有30%的代碼可以進(jìn)行并行化,那么進(jìn)行并行化改造之后的性能是之前的多少倍呢?

約等于1.41倍,從耗時(shí)結(jié)果上來看,建設(shè)原先總耗時(shí)是140毫秒,那么進(jìn)行完并行化優(yōu)化之后耗時(shí)將變成100毫秒左右。

而如果你的服務(wù)中只有5%的代碼可以進(jìn)行并行化改造,那么優(yōu)化之后的性能收益是:

性能變化幾乎不大。即使你給原先100毫秒的服務(wù),降低了5毫秒,變成100毫秒,但工作和產(chǎn)出不成正比,因?yàn)椴⑿酗@然會(huì)增加額外的系統(tǒng)復(fù)雜度和維護(hù)成本。

講到這,你會(huì)感覺,這不就是二八原則嗎?沒錯(cuò),阿姆達(dá)爾定律所闡明的道理和二八原則如初一折,但是他用更加數(shù)學(xué)化的語言,用準(zhǔn)確的公式定義出來了。他便足以讓我們?cè)谡介_展工作之前,便得以評(píng)估自己是否在做無用功,從而讓我們把精力聚焦到更有價(jià)值的部分。而傳統(tǒng)的二八原則只是模糊的定義了大概這么一類現(xiàn)象,但是不管是二還是八都是模糊的數(shù)字。類似的表述還有“長尾效應(yīng)”。

使用延伸

前面說到阿姆達(dá)爾定律定義出來的加速比公式,其實(shí)也可以推廣到非并行計(jì)算領(lǐng)域。也就是說即使我并不是在做服務(wù)的并行化改造,我依然能從這個(gè)公式中受益。這是為什么呢?

先不考慮外部IO的耗時(shí),當(dāng)然IO一般是大頭,但不在本文討論范圍再舉個(gè)例子。當(dāng)談到服務(wù)本身的性能優(yōu)化的時(shí)候,我們一下子可能會(huì)想到很多套路。比如C++語法優(yōu)化,減少拷貝,減少頻繁創(chuàng)建大對(duì)象。又比如系統(tǒng)級(jí)優(yōu)化,減少系統(tǒng)調(diào)用等等。這些都是好的。

但是如果一個(gè)優(yōu)化點(diǎn),其占比不高,那么其優(yōu)化帶來的收益也是有限的。再來一個(gè)例子,比如:假設(shè)一個(gè)程序耗時(shí)100ms,其中多次運(yùn)行某個(gè)邏輯總花費(fèi)了80ms。現(xiàn)在你能做一些優(yōu)化對(duì)其性能提升30%,那么對(duì)于程序整體的性能提升是多少呢?同樣阿姆達(dá)爾定律可以告訴你:

總體性能提升了22%。

而如果這個(gè)邏輯總花費(fèi)是10ms,你加班加點(diǎn)從大小周到996,對(duì)這個(gè)邏輯的性能提升了1倍!那么對(duì)程序整體的性能提升是多少呢?

雖然也提升了5%的性能,但是投入的時(shí)間顯然更多。

所以這就引出了阿姆達(dá)爾定律中的一個(gè)經(jīng)典教義:

如果被優(yōu)化代碼在程序整體運(yùn)行時(shí)間中占比不大,那么即使對(duì)它的優(yōu)化非常成功也是不值得的!

您別說我還真有切身說法。我們都知道系統(tǒng)調(diào)用的性能是很差的,很久以前,我集中解決了一下系統(tǒng)調(diào)用的問題,將一些可以不經(jīng)過系統(tǒng)調(diào)用的邏輯進(jìn)行替換。比如把time()函數(shù)換成gettimeofday(),當(dāng)然嚴(yán)格意義上來說gettimeofday()也算系統(tǒng)調(diào)用,畢竟它也是在man手冊(cè)第二頁中的。但是Linux引入的VDSO機(jī)制,將其進(jìn)行了優(yōu)化。這里不展開討論了。

這輪優(yōu)化后,本來信心滿滿等著和領(lǐng)導(dǎo)匯報(bào)工作成果,卻發(fā)現(xiàn)耗時(shí)幾乎無變化。心想:經(jīng)驗(yàn)主義害死人啊

其實(shí)并不是“經(jīng)驗(yàn)”不對(duì),也不是“理論”有誤,只是我當(dāng)時(shí)并不知道這凌駕于其他任何優(yōu)化法則的:阿姆達(dá)爾定律!

系統(tǒng)調(diào)用雖然有性能問題,但是在我整個(gè)服務(wù)中的影響占比是不高的,這里當(dāng)然也不能單純的從代碼量來看,也要看一次系統(tǒng)調(diào)用大概花費(fèi)的時(shí)間。不過我說這個(gè)例子,倒也不是說我們就要對(duì)這種明知有性能損害,但占比不高的問題聽之任之。不不不,我也是有代碼潔癖的,只是說我們通過理論分析可以將這種優(yōu)化的優(yōu)先級(jí)降低,或者裹挾一些其他方面的優(yōu)化來一起做一個(gè)版本。

所以我還是奉勸大家先做一下大概的評(píng)估,這樣不至于你的辛勤工作在別人眼里看起來沒有卵用。或者也可以在向領(lǐng)導(dǎo)講述某次“失敗”的優(yōu)化的時(shí)候找點(diǎn)理論支撐。

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美好吊妞视频| 亚洲欧洲一二三| 久久一区亚洲| 久久xxxx| 欧美精品情趣视频| 欧美日韩一区二区免费视频| 欧美午夜精品久久久久久超碰| 欧美午夜宅男影院| 国产精品激情电影| 国外精品视频| 国产精品久久久久久av下载红粉| 国产精品热久久久久夜色精品三区| 国产精品爱啪在线线免费观看| 国产午夜精品理论片a级探花| 在线精品国产成人综合| 一区二区三区你懂的| 欧美在线亚洲| 欧美日韩国产一级| 加勒比av一区二区| 这里只有精品视频| 美日韩免费视频| 国产亚洲精品aa午夜观看| 日韩视频中文字幕| 久久久精品国产免大香伊| 国产精品理论片在线观看| 亚洲精品国产精品国产自| 久久久久久久久蜜桃| 国产精品免费久久久久久| 亚洲国产精品一区二区尤物区 | 国内精品久久久久影院薰衣草 | 欧美一区国产二区| 欧美精品粉嫩高潮一区二区| 国产在线精品一区二区中文| 一本久久综合亚洲鲁鲁五月天| 老司机67194精品线观看| 国产日产欧美一区| 亚洲一区二区三区午夜| 欧美日韩伦理在线| 亚洲精品社区| 欧美午夜片在线免费观看| 一区在线影院| 欧美一区二区三区免费大片| 欧美午夜视频在线| 一区二区不卡在线视频 午夜欧美不卡在| 另类天堂av| 雨宫琴音一区二区在线| 久久蜜臀精品av| 国产午夜精品麻豆| 欧美一区二区三区免费在线看| 国产精品久久久久av免费| 中文网丁香综合网| 欧美午夜精品久久久| 亚洲私人影院在线观看| 国产精品av免费在线观看| 亚洲天堂成人| 国产精品视频网站| 久久不射电影网| 一区二区视频在线观看| 老牛嫩草一区二区三区日本| 在线成人av.com| 欧美电影打屁股sp| 99在线热播精品免费99热| 欧美色图五月天| 亚洲欧美日韩中文在线制服| 国产欧美日韩91| 久久久久久国产精品一区| 亚洲国产精品高清久久久| 欧美黑人在线播放| 在线视频精品一区| 国产精品一区二区男女羞羞无遮挡| 亚洲欧美日韩精品久久奇米色影视| 国产精品素人视频| 久久久久久久久久久久久久一区| 影音先锋在线一区| 欧美精品一区二区视频| 中文日韩在线视频| 99re成人精品视频| 国产精品羞羞答答| 久久蜜桃av一区精品变态类天堂| 亚洲国产精品一区二区久| 欧美性做爰毛片| 久久久综合激的五月天| 亚洲精品国产欧美| 国产精品区一区| 久久艳片www.17c.com| 日韩午夜中文字幕| 国产区日韩欧美| 欧美成人在线网站| 亚洲欧美福利一区二区| 精品动漫一区| 国产精品久久久久久久久搜平片| 久久国产精品一区二区三区四区 | 欧美日本在线观看| 午夜视频在线观看一区| 亚洲国产欧美日韩| 欧美日韩国产影院| 午夜国产精品视频免费体验区| 激情六月综合| 欧美日韩综合一区| 欧美一激情一区二区三区| 亚洲欧洲视频| 国产原创一区二区| 欧美福利视频一区| 亚洲欧美在线x视频| 在线观看视频一区| 欧美日韩国产系列| 久久久久免费视频| 亚洲欧美日产图| 亚洲精品一区二区三区不| 国产手机视频一区二区| 欧美日韩高清在线播放| 欧美亚洲一级| 亚洲精品婷婷| 国产字幕视频一区二区| 欧美日韩妖精视频| 欧美jjzz| 久久久精品一品道一区| 亚洲免费观看在线观看| 樱花yy私人影院亚洲| 国产精品夜色7777狼人 | 在线观看成人av| 宅男噜噜噜66一区二区| 国产一区二区中文| 欧美亚州在线观看| 国产精品资源在线观看| 亚洲自拍偷拍麻豆| 国产亚洲欧美日韩在线一区 | 亚洲啪啪91| 欧美二区在线播放| 午夜精品视频在线观看一区二区| 依依成人综合视频| 欧美亚州一区二区三区| 久久国产精品99精品国产| 亚洲国产精品久久久久| 国产女主播一区二区| 欧美电影免费网站| 久久久久久一区二区三区| 亚洲一区二区三区四区视频| 在线观看一区二区视频| 黄色亚洲免费| 国产精品美女久久福利网站| 亚洲激情在线| 女主播福利一区| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美性一二三区| 国产欧美视频在线观看| 在线亚洲欧美专区二区| 日韩亚洲欧美在线观看| 国产精品久久久久久久久久妞妞| 欧美激情片在线观看| 欧美精品三级| 欧美激情一区二区三级高清视频| 欧美福利视频在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久综合999| 女同一区二区| 欧美日韩国产精品专区| 欧美少妇一区| 国产亚洲精品一区二区| 精品av久久707| 最新亚洲视频| 亚洲毛片av在线| 亚洲永久免费观看| 欧美一区午夜精品| 久久激情中文| 另类av一区二区| 欧美日韩国产大片| 国产精品美女www爽爽爽视频| 欧美视频在线观看免费| 国产欧美大片| 1769国内精品视频在线播放| 亚洲乱码国产乱码精品精98午夜 | 亚洲人成在线播放| 一本久道久久综合中文字幕| 午夜精品区一区二区三| 久久在线视频在线| 欧美日韩一本到| 国产综合久久久久久| 一区二区在线视频| 日韩视频精品| 欧美中文在线观看国产| 欧美激情第一页xxx| 国产精品色婷婷| 亚洲国产精品久久久久婷婷884 | 久久久国产亚洲精品| 免费在线欧美视频| 国产精品日韩| 亚洲激情在线播放| 亚洲欧美在线网| 欧美激情视频一区二区三区免费| 国产九九精品视频| 91久久夜色精品国产九色| 欧美一区二区三区免费观看| 免费亚洲婷婷| 国产日韩欧美视频在线| 一本色道久久88精品综合| 国产精品av一区二区| 国内一区二区在线视频观看 | 欧美大片免费久久精品三p | 韩国福利一区|