public static void perf() { EnzymeDynamicContext dfp = new EnzymeDynamicContext(); var rv = new EnzymeEngine(dfp); rv.Evaluate("$total = 0"); double total = 0.0; double d = Environment.TickCount; for (int i = 0; i < 1000; i++) { total = total + 1; Console.WriteLine(total); } d = Environment.TickCount - d; double e = Environment.TickCount; for (int i = 0; i < 1000; i++) { rv.Evaluate("$total=$total+1"); Console.WriteLine(dfp.GetFieldValue("total")); } e = Environment.TickCount - e; double pf = ((e - d) / e) * 100.0; Console.WriteLine("Performance loss: {0}", pf); Console.ReadLine(); }
public void MoreEvalute() { IEnzymeContext fpr = new EnzymeDynamicContext(); EnzymeEngine engine = new EnzymeEngine(fpr); Debug.Print(engine.Evaluate("$r1 = 20").ToString()); Debug.Print(engine.Evaluate("$r2 = 12").ToString()); double d = (double)engine.Evaluate("$R = ($r1*$r2)/($r1+$r2)"); Assert.AreEqual(d, 7.5); }