3

我有一个我们实现的解析器,我想将它与其他一些商业解析器进行比较。其他解析器以“每秒百万次迭代”来衡量它们的速度。如何在 C# 中测量解析器的迭代次数?

4

4 回答 4

1

我要做的是,查看商业解析器的代码,看看如何使用像dotPeekReflector这样的工具来完成性能测量。然后以完全相同的方式实现它以使其具有可比性。否则你的结果将毫无意义。

于 2012-06-20T09:55:56.903 回答
1

这是如何在 Visual Studio http://www.dotnetperls.com/benchmark上执行此操作的示例

还要获得准确的结果 编译到一个 Exe 并作为一个独立的控制台应用程序运行,不要从 Visual Studio 内部运行它。

于 2012-06-20T09:46:03.333 回答
1

为了使测量具有可比性,您需要知道商业解析器中的那些“迭代”是什么。

校准后,使用StopWatch类来测量执行时间。在与商业解析器(相同应用程序)相同的上下文中运行解析器,计算解析器中的“迭代次数”(无论您的上下文中的内容),并通过将计数除以测量时间来计算“每秒迭代次数”。

于 2012-06-20T09:39:01.420 回答
1

在解析器中添加一些计数器。“迭代”本身是什么?是重复过程的oart。例如,如果您的解析器专用于解析电话,那么从给定数据中解析出的一个电话号码就是迭代本身。计算这个迭代。

于 2012-06-20T09:39:39.833 回答