using System; using System.Runtime.InteropServices; using Clearsilver; public class CSPerfTest { public delegate void test_function(int INDEX); public static void timefunk(String label, test_function f, int count) { int start, end, elapsed; start = Environment.TickCount; f(count); end = Environment.TickCount; elapsed = end-start; Console.WriteLine(label + " " + count + " elapsed: " + (elapsed / 1000.0)); } public static unsafe int Main(string[] argv) { Console.WriteLine("C# Clearsilver wrapper performance test"); Hdf h = new Hdf(); h.setValue("foo.1","1"); h.setValue("foo.2","2"); int call_count = 100000; int start = Environment.TickCount; for (int i=0;i<call_count;i++) { h.setValue(String.Format("foo.{0}",i),"5"); } int end = Environment.TickCount; Console.WriteLine("call count = {0}, time = {1} ms - time per call {2} ns", call_count, end-start, (((float)end-start)/call_count) * 1000); CSTContext cs = new CSTContext(h); // cs.parseFile("test.cst"); Console.WriteLine(cs.render()); return 0; } }