這意味着系統時鐘粒度過大,以精確地測量這樣的事情 - 換句話說,調用構造函數很快發生。
但是,您可以使用更適合精確定時的類 - 或者至少可以利用高精度時鐘(如果有):Stopwatch
。
Stopwatch sw = Stopwatch.StartNew();
Graph_SearchBFS BFS = new Graph_SearchBFS(Graph, sourceCell, targetCell);
sw.Stop();
現在你可以看看sw.Elapsed
屬性,看看它花了多長時間。
當然,完全有可能它會仍然太快而無法測量。通常,對於基準測試,您需要做足夠的事情,以便在數秒內完成時間,而不是單次操作。
順便說一下,您的Graph_SearchBFS
構造函數實際上在做什麼工作?如果是這樣,那也是一種設計氣味。通常我希望代碼更像這樣:
Graph_SearchBFS BFS = new Graph_SearchBFS(Graph);
Stopwatch sw = Stopwatch.StartNew();
BFS.FindCell(sourceCell, targetCell);
sw.Stop();
或類似的東西。然後你就可以循環很多次在「發現」部分:
Graph_SearchBFS BFS = new Graph_SearchBFS(Graph);
Stopwatch sw = Stopwatch.StartNew();
for (int i = 0; i < Iterations; i++)
{
BFS.FindCell(sourceCell, targetCell);
}
sw.Stop();
是構造進行搜索,我從一本書上工作。 – pokoko222
@ pokoko222:哦,親愛的 - 這本書不是非常好的標誌:(順便說一下,也不是類名。) –