Esempio n. 1
0
        private static void NativeBenchmark()
        {
            Regex re     = null;
            bool  result = false;

            NativeCompileTimeTicks   = Bench.Measure(() => re = new Regex(Pattern, RegexOptions.Compiled), CompilationSampleCount);
            NativeExecutionTimeTicks = Bench.Measure(() => result = re.Match(TestInput).Success, ExecutionSampleCount);
            if (!result)
            {
                throw new InvalidOperationException("Internal test error");
            }
        }
Esempio n. 2
0
        private void Benchmark(Func <string, SRegex> compile)
        {
            SRegex sre    = null;
            bool   result = false;

            CompileTimeTicks         = Bench.Measure(() => { sre = compile(SrePattern); }, CompilationSampleCount);
            ExecutionTimeTicks       = Bench.Measure(() => result = sre.Match(TestInput), ExecutionSampleCount);
            ExecPreparationTimeTicks = Bench.Measure(() => TestInput.Select(ch => (int)ch).ToArray(), ExecutionSampleCount);
            if (!result)
            {
                throw new InvalidOperationException("Internal test error");
            }
        }