private static void RunMany(EngineVirtuoso engine) { //System.IO.StreamReader sr = new StreamReader(@"D:\Home\FactographDatabases\queries\query5param.rq"); System.IO.StreamReader sr = new StreamReader(@"D:\Home\FactographDatabases\queries\query5param.rq"); string query_param = "sparql " + sr.ReadToEnd(); DateTime tt0 = DateTime.Now; //foreach (string prod in Sarr.sarr) //{ // string query_s = query_param.Replace("%ProductXYZ%", "<" + prod + ">"); // var res = engine.Query(query_s).ToArray(); // Console.WriteLine("query {0} time = {1}", res.Count(), (DateTime.Now - tt0).Ticks / 10000L); tt0 = DateTime.Now; //} int n1 = 500, s2 = 500, n2 = 500; string[] sa = Sarr.sarr; for (int i = 0; i < n1; i++) { string prod = sa[i]; string query_s = query_param.Replace("%ProductXYZ%", "<" + prod + ">"); var res = engine.Query(query_s).ToArray(); } var dur1 = (DateTime.Now - tt0).Ticks / 10000L; Console.WriteLine("1-st test ok. time = {0} number={1} QpS={2}", dur1, n1, (double)(n1 * 1000) / (double)dur1); tt0 = DateTime.Now; tt0 = DateTime.Now; for (int i = 0; i < n2; i++) { string prod = sa[s2 + i]; string query_s = query_param.Replace("%ProductXYZ%", "<" + prod + ">"); var res = engine.Query(query_s).ToArray(); } var dur = (DateTime.Now - tt0).Ticks / 10000L; Console.WriteLine("test ok. time = {0} number={1} QpS={2}", dur, n2, (double)(n2 * 1000) / (double)dur); tt0 = DateTime.Now; }
private static void RunTests(EngineVirtuoso engine) { string[] query_files = { @"D:\Home\FactographDatabases\queries\query1.rq", @"D:\Home\FactographDatabases\queries\query2.rq", @"D:\Home\FactographDatabases\queries\query3.rq", @"D:\Home\FactographDatabases\queries\query4.rq", @"D:\Home\FactographDatabases\queries\query5.rq", @"D:\Home\FactographDatabases\queries\query6.rq", @"D:\Home\FactographDatabases\queries\query7.rq", @"D:\Home\FactographDatabases\queries\query8.rq", @"D:\Home\FactographDatabases\queries\query9.rq", @"D:\Home\FactographDatabases\queries\query10.rq", @"D:\Home\FactographDatabases\queries\query11.rq", @"D:\Home\FactographDatabases\queries\query12.rq", }; string[] queries = new string[query_files.Length]; for (int i = 0; i < query_files.Length; i++) { System.IO.StreamReader sr = new StreamReader(query_files[i]); queries[i] = "sparql " + sr.ReadToEnd(); } int f = 0, t = query_files.Length; DateTime tt0; for (int i = f; i < t; i++) { tt0 = DateTime.Now; string qu = queries[i]; //if (i == 5) continue; if (qu.Contains("SELECT ")) { //var res = engine.Query(queries[i]).ToArray(); var select_qu = engine.Query(queries[i]); int limit = 3; foreach (var v in select_qu) { int len = v.Length; foreach (var ob in v) { Console.Write("{0} ", ob); } Console.WriteLine(); limit--; if (limit <= 0) { break; } } //Console.Write(" {0} ", res.Count()); } else { var res = engine.Execute(queries[i]); // engine.Query(queries[i]).ToArray(); } Console.WriteLine("query {0} time = {1}", i + 1, (DateTime.Now - tt0).Ticks / 10000L); tt0 = DateTime.Now; } }
private static void OneParametred(EngineVirtuoso engine, int i, int count) { using (StreamReader streamQueryParameters = new StreamReader(string.Format( @"..\..\..\Testing\examples\bsbm\queries\parameters\param values for{0}m {1} query.txt", 1, i))) { var file = new FileInfo(string.Format(@"..\..\..\Testing\examples\bsbm\queries\parameters\{0}.rq", i)); var parametred = "sparql " + File.ReadAllText(file.FullName); double min = int.MaxValue, max = -1, average = 0; for (int j = 0; j < count; j++) { var consted = BSBmParams.QueryReadNewParameters(parametred, streamQueryParameters); consted = consted.Replace("16.05.2008 0:00:00", DateTime.Parse("16.04.2008 0:00:00").ToString("s")); Stopwatch timer = new Stopwatch(); if (consted.Contains("SELECT ")) { timer.Restart(); var res = engine.Query(consted).ToArray(); timer.Stop(); } else { timer.Restart(); var res = engine.Execute(consted); // engine.Query(queries[i]).ToArray(); timer.Stop(); } double time = SparqlTesting.GetTimeWthLast2Digits(timer); average += (double)((int)(100 * time / count)) / 100; if (time > max) { max = time; } if (min > time) { min = time; } } using (StreamWriter r = new StreamWriter(@"..\..\output.txt", true)) { r.WriteLine(DateTimeOffset.Now); r.WriteLine("q " + i); r.WriteLine("average " + average); r.WriteLine("qps " + ((double)((int)(100000 / average)) / 100)); r.WriteLine("min " + min); r.WriteLine("max " + max); r.WriteLine("memory " + GC.GetTotalMemory(false)); } } }
public static void RunBerlinsWithConstants(EngineVirtuoso Store) { double[] memoryUsage = new double[50]; long[] totalrun = new long[50]; Console.WriteLine("bsbm with constants"); var timer = new Stopwatch(); // for ( int i = 49; //i < 12; i++) { string file = string.Format(@"..\..\..\Testing\examples\bsbm\queries\with constants\{0}.rq", i + 1); var qu = "sparql " + File.ReadAllText(file); GC.Collect(); if (qu.Contains("SELECT ")) { timer.Restart(); var select_qu = Store.Query(qu); foreach (var objectse in select_qu) { } timer.Stop(); } else { timer.Restart(); Store.Execute(qu); timer.Stop(); } totalrun[i] += timer.ElapsedMilliseconds > 10 ? timer.ElapsedMilliseconds : ((int)(timer.ElapsedTicks / 10000) * 100) / 100; memoryUsage[i] = GC.GetTotalMemory(false); //results[i]= } using (StreamWriter r = new StreamWriter(@"..\..\output.txt", true)) { r.WriteLine("date time " + DateTime.Now); r.WriteLine("memory usage (bytes)" + string.Join(", ", memoryUsage)); r.WriteLine("run " + string.Join(", ", totalrun)); r.WriteLine("total run " + totalrun.Sum()); } }
private static void ViruosoBSBmParameters(EngineVirtuoso engine) { long[] results = new long[12]; double[] minimums = Enumerable.Repeat(double.MaxValue, 12).ToArray(); double[] maximums = new double[12]; double maxMemoryUsage = 0; Console.WriteLine("antrl parametered"); int i = 0; int Millions = 1; using (StreamReader streamQueryParameters = new StreamReader(string.Format(@"..\..\..\Testing\examples\bsbm\queries\parameters\param values for{0} m.txt", Millions))) { int j; for (j = 0; j < 500; j++) { for (i = 0; i < 12; i++) { var file = new FileInfo(string.Format(@"..\..\..\Testing\examples\bsbm\queries\parameters\{0}.rq", i + 1)); using (StreamReader sr = new StreamReader(file.FullName)) { var queryReadParameters = "sparql " + BSBmParams.QueryReadParameters(sr.ReadToEnd(), streamQueryParameters); queryReadParameters = queryReadParameters.Replace("18.04.2008 0:00:00", DateTime.Parse("18.04.2008 0:00:00").ToString("s")); if (queryReadParameters.Contains("SELECT ")) { var res = engine.Query(queryReadParameters).ToArray(); } else { var res = engine.Execute(queryReadParameters); // engine.Query(queries[i]).ToArray(); } } } } for (j = 0; j < 500; j++) { for (i = 0; i < 12; i++) { var totalMilliseconds = 0;//OneParametred(engine, i, TODO); if (minimums[i] > totalMilliseconds) { minimums[i] = totalMilliseconds; } if (maximums[i] < totalMilliseconds) { maximums[i] = totalMilliseconds; } results[i++] += totalMilliseconds; var memory = GC.GetTotalMemory(false); if (maxMemoryUsage < memory) { maxMemoryUsage = memory; } //File.WriteAllText(Path.ChangeExtension(file.FullName, ".txt"), resultString); //.Save(Path.ChangeExtension(file.FullName,".xml")); } } } using (StreamWriter r = new StreamWriter(@"..\..\output.txt", true)) { r.WriteLine("mils " + Millions); r.WriteLine(string.Join(", ", results.Select(l => 500 * 1000 / l))); r.WriteLine("minimums " + string.Join(", ", minimums)); r.WriteLine("maximums " + string.Join(", ", maximums)); r.WriteLine("max memory usage " + maxMemoryUsage); } Console.WriteLine("average " + string.Join(", ", results.Select(l => 500 * 1000 / l))); Console.WriteLine("minimums " + string.Join(", ", minimums)); Console.WriteLine("maximums " + string.Join(", ", maximums)); }