关于日期时间的问题。现在用C#
为什么开始时间等于结束时间?这是什么意思?顺便说一下,我的目标是测量图形搜索所需的时间关于日期时间的问题。现在用C#,c#,C#,为什么开始时间等于结束时间?这是什么意思?顺便说一下,我的目标是测量图形搜索所需的时间 谢谢可能是该方法非常快速。你看过毫秒或滴答声了吗 这意味着系统时钟粒度太大,无法准确测量这类事情——换句话说,调用构造函数的速度非常快 但是,您可以使用更适合精确计时的类-或者至少,如果有高精度时钟,它可以利用高精度时钟: 现在,您可以查看该物业,了解它花费了多长时间 当然,它完全有可能仍然太快而无法测量。通常,为了进行基准测试,您需要做一些足够的事情,以便在几秒钟的时间内完成,而不是一次操作 顺便问一下,
谢谢可能是该方法非常快速。你看过毫秒或滴答声了吗
这意味着系统时钟粒度太大,无法准确测量这类事情——换句话说,调用构造函数的速度非常快 但是,您可以使用更适合精确计时的类-或者至少,如果有高精度时钟,它可以利用高精度时钟: 现在,您可以查看该物业,了解它花费了多长时间 当然,它完全有可能仍然太快而无法测量。通常,为了进行基准测试,您需要做一些足够的事情,以便在几秒钟的时间内完成,而不是一次操作 顺便问一下,您的
Graph\u SearchBFS
构造函数是否真的在做这项工作?如果是这样的话,那也有点设计的味道。通常我希望代码更像这样:
Stopwatch sw = Stopwatch.StartNew();
Graph_SearchBFS BFS = new Graph_SearchBFS(Graph, sourceCell, targetCell);
sw.Stop();
或者类似的东西。然后,您可以在“查找”部分上循环多次:
Graph\u SearchBFS BFS=newgraph\u SearchBFS(Graph);
秒表sw=Stopwatch.StartNew();
对于(int i=0;i
可能是因为您的方法运行速度快于时钟的分辨率
改用秒表
类;更精确。用于测量执行速度
Graph_SearchBFS BFS = new Graph_SearchBFS(Graph);
Stopwatch sw = Stopwatch.StartNew();
for (int i = 0; i < Iterations; i++)
{
BFS.FindCell(sourceCell, targetCell);
}
sw.Stop();
@哦,天哪,这对这本书来说不是一个非常好的迹象:((顺便说一下,类名也不是。)
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();
Stopwatch sw = new Stopwatch();
sw.Start();
Graph_SearchBFS BFS = new Graph_SearchBFS(Graph, sourceCell, targetCell);
sw.Stop();
Debug.WriteLine("Time to query: " + sw.ElapsedMilliseconds + " ms");