比较两个表达式求值器的基准方法

本文关键字:基准 方法 表达式 两个 比较 | 更新日期: 2023-09-27 18:16:12

我当前的需求是在1000行数据上比较两个表达式求值器与一个表达式,以记录处理时间。

我的表达是:

if ( val1 > 0 ) 
then (
       ( val2 / val3 ) >= 34 and ( val4 / val5 ) <= 4500
     ) 
else ( 
      if ( val1 equals 0) 
      then true 
      else false
    )   

我将使用1000个不同的val1, val2, val3, val4和val5变量的值,并尝试在循环中迭代它。我需要记录处理结果,即在单个表达式上计算1000条记录需要多少秒。

我将要使用的表达式求值器是:NCalc [https://ncalc.codeplex.com/]和expression Evaluator [https://csharpeval.codeplex.com/]。请建议我用c#记录基准测试结果的方法。是否可以使用c#中的简单控制台应用程序来完成,或者是否有任何第三方工具可供我使用?

比较两个表达式求值器的基准方法

您可以使用Stopwatch:

使用一个简单的计时器
var timer = new Stopwatch();
timer.Start();
// Do your stuff
timer.Stop();
Console.WriteLine("This operation took " + timer.ElapsedMilliseconds + " ms.");