

Gprof優(yōu)化初探
- 期刊名字:電腦學(xué)習
- 文件大?。?28kb
- 論文作者:林英建
- 作者單位:渤海大學(xué)公共計算機教研部
- 更新時(shí)間:2020-09-29
- 下載次數:次
2009年4月電腦學(xué)習第2期Gprof優(yōu)化初探林英建*摘要: 論迷了得到多蛾程情況下系統運行的相關(guān)信息的解決方案,以及避免敷據不一致情況的優(yōu)化方法。關(guān)鍵詞: Cprof系統分析優(yōu)化中圖分類(lèi)號: TP301文獻標識碼: B文章編號: 1002- -2422 2009 )02- 0111-01Disucussion on Gprof OptimizationLin YingjianAbstract: The paper discuses eolution plan of related information of multi-hread syslem running, and studies the optimizationmethod to avoid data inconsistence.Keyword: GprodfSystem AnalysisOptimizationCprof是CNU profiler 工具,可以用來(lái)分析系統在運行程序中會(huì )有相應的函數捕捉該信號,捕捉到該信號后,置一時(shí)各函數調用的次數,耗時(shí)等情況,可以方便地幫助定位系個(gè)退出標記,這樣就可以控制程序按照既定的邏輯在處理統的瓶頸,同時(shí)也能幫助確定程序的優(yōu)化位置盡可能大的完一次完整的工作后正常退出。提升系統性能。Gprof 優(yōu)化尤其適用于CPU、內存等密集性另一個(gè)值得關(guān)注的問(wèn)題,在上線(xiàn)程序、重啟程序時(shí),通的應用模塊。常都是使用klll -9來(lái)停止原有程序的,這實(shí)際上存在較1 Gprof 的安裝使用大風(fēng)險。若程序在執行時(shí)存在-些持久化的操作,如寫(xiě)磁盤(pán)在linux主機上安裝Gprof后,詳細的參數可通過(guò)man操作多次完成,又如先寫(xiě)數據、再寫(xiě)索引等這應該是在邏輯gprof 查看。需要重點(diǎn)指出的是,在目前的實(shí)際應用中,線(xiàn)上上的原子操作,那么kllall -9 的隨機性可能破壞其原子的Gprof對多線(xiàn)程支持不好,直接調用只能得到主線(xiàn)程的相性,從而造成潛在的數據不一致。如常用的transfer中就存關(guān)信息。參考相關(guān)資料分析,其原因為Gprof采用ITIMER_在這種數據不- -致的隱患。雖然出現的概率不是很高,但PROF信號,在多線(xiàn)程內,只有主線(xiàn)程才能響應該信號。為是,長(cháng)期的積累這種不一-致性是會(huì )慢慢體現出來(lái)的。此,需要使用系統提供的grol-helper.c.將其編譯為so庫,2常見(jiàn)的優(yōu)化手段命令為:由于系統的優(yōu)化是一一個(gè)較為復雜的問(wèn)題, 在此將不做gce -shared -IPIC gprof- helper.c -ogprol-belper.so -lpthread -ld詳盡的敘述僅提供一些經(jīng)驗供參考。so的作用實(shí)際上實(shí)現- -個(gè) ptread creale 的鉤子程序,(1)循環(huán)體內部節約n條指令,最終收益將乘以循環(huán)這樣在調用phread_creale函數時(shí)就會(huì )調用到庫中提供的次數。常見(jiàn)的如將循環(huán)體內不改變的變量移動(dòng)到循環(huán)體外;pthread_ create 函數,從而實(shí)現在多線(xiàn)程情況下統計運行時(shí)多重循環(huán)嵌套時(shí)的順序問(wèn)題等。這種優(yōu)化是收益較高的。的相關(guān)信息。在實(shí)際使用中,只要在用戶(hù)的makefile文件(2)優(yōu)化函數調用。這是優(yōu)化提高非常明顯的一種方中,加上編譯選項-pg及動(dòng)態(tài)鏈接庫,如:式,常見(jiàn)的方式如函數inline,這樣可以節約大量的函數調gce -pg inbs, main.cp .1 grof-eper.o$8 (INCLUDE) $ (ID-用的開(kāi)銷(xiāo),避免多次的壓棧出棧。FLACS) $ (LDLIBS)(3)優(yōu)化內存尋址,避免重復的內存尋址.這樣在編譯后會(huì )生成-一個(gè)行文件a.out文件.就是包含(4)優(yōu)化cpu流水線(xiàn)的分支預測成功率。例如,當前存相關(guān)統計功能的可執行文件。程序運行并“正?!蓖顺龊?,在有ir-ele if-ele 語(yǔ)句,將滿(mǎn)足概率最高的條件放到靠前會(huì )生成一個(gè)運行時(shí)的統計文件gmon.out 文件。使用命令的位置不僅能減少判斷和跳轉指令的執行,還有利于cepugprof -b a.out gmon.out 就可以將readable的信息輸出,這在流水作業(yè)時(shí)分支預測的成功率,提高指令的流水化。些信息可以作為優(yōu)化的依據。需要強調的是,上面提到的優(yōu)化內存尋址和優(yōu)化cpu流水線(xiàn)分支預測的成功率兩“正?!蓖顺鍪侵赋绦蚴前凑兆陨淼倪\行邏輯正常退出的,種優(yōu)化方法單獨優(yōu)化的提升不會(huì )很大,但是如果是在大量如果直接klll -9是不能得到統計結果的。通常程序都是的循環(huán)體內部,提升就會(huì )被放大很多倍。在循環(huán)中長(cháng)時(shí)間運行,所以,實(shí)際中采用相應SICTERM 信參考文獻號的方式,使用kilall 8 15, 發(fā)送SIGTERM信號給程序,[1] htp中國煤化I43495.pr.MYHCNMHG收稿日期: 2008-11-14$林英建渤海大學(xué)公共計算機教研部(遼寧,錦州121000) ●●111●
-
C4烯烴制丙烯催化劑 2020-09-29
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-09-29
-
生物質(zhì)能的應用工程 2020-09-29
-
我國甲醇工業(yè)現狀 2020-09-29
-
JB/T 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術(shù)規程 2020-09-29
-
石油化工設備腐蝕與防護參考書(shū)十本免費下載,絕版珍藏 2020-09-29
-
四噴嘴水煤漿氣化爐工業(yè)應用情況簡(jiǎn)介 2020-09-29
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-09-29
-
甲醇制芳烴研究進(jìn)展 2020-09-29
-
精甲醇及MTO級甲醇精餾工藝技術(shù)進(jìn)展 2020-09-29