「欸這功能效能很差,每次用都速度很慢。」
這是一個很常見的「感覺」形容。每個人對於速度的快慢定義不同,有些人覺得這速度很OK,而有些人覺得效能真的太差。
在工作上我們需要盡量避免這樣的形容詞,除了不夠精確之外,還需要花費更多、額外的時間來校正雙方的度量尺,這時候就需要一個公正、客觀的數據來協助探討是否這個功能真的很慢。
今天介紹的工具就是免費、開源的 BenchmarkDotNet
這個工具能夠協助你快速完成速度的測試,不需要再像以前一樣寫滿StopWatch、手動整理跑完的數據,最後再把計時用的程式碼還原。
透過這個工具,只需要短短幾個步驟就可以取得對照的結果。
首先需要下載、安裝這個套件。
1 | Install-Package BenchmarkDotNet |
在本文為了我們建立一個Console專案,然後將要進行的測試內容寫在另一個新開的類別裡面。最基本的使用方式就是將測試目標函式給予 [Benchmark]Attribute即可如下。
1 | public class BenchmarkSampleTestClass |
在 main 方法就可以直接呼叫該class進行benchmark評測。
務必在進行benchmark時使用 Release 建置。
1 | class Program |
接著在terminal就可以看到花費時間的比較表。