成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

ANTSPerformanceProfiler的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹了ANTS Performance Profiler的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開(kāi)發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
ANTS Performance Profiler的基本使用

ANTS Performance Profiler是RedGate旗下強(qiáng)大的性能調(diào)優(yōu)產(chǎn)品,官方產(chǎn)品頁(yè)面在這里。

先來(lái)看一下軟件的基本使用。

使用下面這段代碼進(jìn)行簡(jiǎn)單的測(cè)試。

這是一個(gè)控制臺(tái)應(yīng)用程序,程序很簡(jiǎn)單,先進(jìn)行10000次循環(huán),輸出和,再使用LINQ在list里找出1000的值輸出。

1 static void Main() 2 { 3     var list = new List<int>(); 4  5     var sum = 0; 6     for (var i = 0; i < 10000; i++) 7     { 8         sum += i; 9         list.Add(i);10     }11     Console.WriteLine(sum);12 13     //find the value use linq: 100014     var result = list.Where(p => p.Equals(1000));15     foreach (var i in result)16     {17         Console.WriteLine(i);18     }19     Console.ReadKey();20 }

編譯程序后,啟動(dòng)ANTS Performance Profiler,會(huì)自動(dòng)彈出向?qū)ы?yè)面,在此頁(yè)面中,可以看到軟件支持多種.NET程序的性能監(jiān)控,如EXE、web、Windows Service等等。

而在Performace Counters中可以根據(jù)需要選擇多種計(jì)數(shù)器,IO、內(nèi)存分配、處理器等等。

針對(duì)測(cè)試DEMO,選擇編譯后的exe文件路徑,因?yàn)閯偛攀莇ebug編譯,所以選擇程序文件夾下\bin\Debug\里面的exe即可。

在Profiling Mode里可以選擇監(jiān)控的級(jí)別,基本就是監(jiān)控信息的多少與速度的權(quán)衡,默認(rèn)選擇“最詳細(xì)”即可。其他的詳細(xì)設(shè)置可以參考幫助文檔。

點(diǎn)擊“Start Profiling”,啟動(dòng)程序。

ANTS Performance Profiler的示例分析

分析結(jié)果的查看與分析

軟件的基本工作原理是在.NET編譯出的IL代碼里放入鉤子用來(lái)記錄時(shí)間,然后通過(guò)直觀的界面顯示出哪部分代碼耗能大。所以這是性能調(diào)優(yōu)最直接的方法,針對(duì)最耗時(shí)的代碼段進(jìn)行優(yōu)化即可。

點(diǎn)擊“Start Profiling”后啟動(dòng)之前編譯的程序,軟件開(kāi)始執(zhí)行,如果是其他交互程序如winform、web等,操作完需要進(jìn)行性能調(diào)優(yōu)的功能后,在頂部的運(yùn)行時(shí)間軸里用鼠標(biāo)選定需要查看的時(shí)間段即可,一般有性能問(wèn)題的時(shí)間段會(huì)出現(xiàn)一個(gè)波峰,選定那個(gè)時(shí)間段即可。

ANTS Performance Profiler的示例分析

選定后可以立即在下面的結(jié)果窗口中看到最耗時(shí)的方法,比如上面的DEMO,當(dāng)然性能都消耗在了Main函數(shù)上。

ANTS Performance Profiler的示例分析

軟件提供了多種度量值查看性能損耗,有百分比和多種時(shí)間格式,這里選定“秒”作為度量單位。

ANTS Performance Profiler的示例分析

再選擇要查看的函數(shù),軟件強(qiáng)大之處就顯現(xiàn)出來(lái)了。

  • 右側(cè)的紅色標(biāo)線,點(diǎn)擊可以快速定位到最耗能的代碼,顏色越深表示那段代碼越耗能。

  • 左側(cè)可以看到行號(hào),此段代碼執(zhí)行的次數(shù)(Hit Count),平均執(zhí)行時(shí)間,總的執(zhí)行時(shí)間,當(dāng)然還可以同時(shí)看到代碼供分析使用。

至于DEMO里這段代碼為什么第一次執(zhí)行Console.WriteLine如此耗能,我想如果你認(rèn)真看了《CLR via C#》的第一章就應(yīng)該能知道答案了。

ANTS Performance Profiler的示例分析

當(dāng)然你還可以點(diǎn)擊層次結(jié)構(gòu)圖標(biāo),查看更加直觀的性能損耗,就像下面這樣。

這樣的層次結(jié)構(gòu)圖還有一個(gè)好處就是可以看到.NET Framework的內(nèi)部實(shí)現(xiàn)。

當(dāng)進(jìn)行一些決策,比如是用原生的功能還是第三方組件時(shí),這個(gè)功能會(huì)變得非常好用,因?yàn)橥ㄟ^(guò)它能比較直觀的地看到內(nèi)部實(shí)現(xiàn)的性能瓶頸在哪里。

ANTS Performance Profiler的示例分析

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“ANTS Performance Profiler的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

網(wǎng)站題目:ANTSPerformanceProfiler的示例分析-創(chuàng)新互聯(lián)
文章位置:http://jinyejixie.com/article16/djcidg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化定制網(wǎng)站、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司