Exemple #1
0
        public Result CallDirectVirtual(Processor2 processor, int iterations)
        {
            int     sum     = 0;
            Counter counter = new Counter();

            counter.Start();
            for (int i = 0; i < iterations; i++)
            {
                sum += processor.ProcessV(i);
            }
            counter.Stop();
            theSum = sum;
            return(new Result("DirectVirtual", iterations, counter.Seconds, 0.0F));
        }
Exemple #2
0
        public Result CallDirectStatic(int iterations)
        {
            int     sum     = 0;
            Counter counter = new Counter();

            counter.Start();
            for (int i = 0; i < iterations; i++)
            {
                sum += Processor2.ProcessStatic(i);
            }
            counter.Stop();
            theSum = sum;
            return(new Result("DirectStatic", iterations, counter.Seconds, 0.0F));
        }
Exemple #3
0
        public ArrayList Call(int iterations)
        {
            ArrayList results = new ArrayList();

            Processor  processor  = new Processor();
            Processor2 processor2 = new Processor2();

            results.Add(CallDirect(processor, iterations));
            results.Add(CallInvoke(processor, iterations));
            results.Add(CallInterface(processor, iterations));
            results.Add(CallDelegate(processor, iterations));
            results.Add(CallCustomDelegate(processor, iterations));
            results.Add(CallCustomClass(processor, iterations));
            results.Add(CallDirectVirtual(processor2, iterations));
            results.Add(CallInterfaceVirtual(processor2, iterations));
            results.Add(CallDirectStatic(iterations));
            results.Add(CallMethodInfo(processor, iterations));

            return(results);
        }