Beispiel #1
0
        public void Core445_Benchmark()
        {
            Stopwatch timer       = new Stopwatch();
            String    randomQuery = BuildRandomSizeQuery();

            // Parsing performances
            timer.Start();
            SparqlParameterizedString command = new SparqlParameterizedString(baseQuery);

            command.Append(randomQuery);
            command.Append("}");
            timer.Stop();

            Console.WriteLine("Query Size: " + command.CommandText.Length.ToString());
            Console.WriteLine("Variables: " + _variables.Count.ToString());
            Console.WriteLine("Parsing: " + timer.ElapsedMilliseconds.ToString());

            for (int i = 0; i < runs; i++)
            {
                Console.WriteLine("Run #" + i.ToString());
                timer.Reset();
                timer.Start();
                int variablesToSet = randomizer.Next(_variables.Count);
                if (variablesToSet > _variables.Count / 2)
                {
                    variablesToSet = _variables.Count;
                }
                foreach (String variable in _variables.Take(variablesToSet))
                {
                    command.SetVariable(variable, g.CreateUriNode(UriFactory.Create("urn:test#" + randomizer.Next(randomBodyIterations).ToString())));
                }
                timer.Stop();
                Console.WriteLine(variablesToSet.ToString() + " Variables set: " + timer.ElapsedMilliseconds.ToString());
                timer.Reset();
                timer.Start();
                String commandString = command.ToString();
                timer.Stop();
                Console.WriteLine("ToString: " + timer.ElapsedMilliseconds.ToString());
            }
        }