Add --benchmark option
parent
07062a2c3a
commit
ef93682ef9
|
@ -7,12 +7,12 @@ using System.IO;
|
||||||
using ln.skyscanner.crawl;
|
using ln.skyscanner.crawl;
|
||||||
using ln.types.threads;
|
using ln.types.threads;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using ln.logging;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using ln.skyscanner.checks;
|
using ln.skyscanner.checks;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using ln.skyscanner.import.skytron;
|
using ln.skyscanner.import.skytron;
|
||||||
|
using System.Linq;
|
||||||
namespace ln.skyscanner
|
namespace ln.skyscanner
|
||||||
{
|
{
|
||||||
[JsonConverter(typeof(StringEnumConverter))]
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
|
@ -51,7 +51,7 @@ namespace ln.skyscanner
|
||||||
Arguments = args;
|
Arguments = args;
|
||||||
|
|
||||||
String skytronImport = null;
|
String skytronImport = null;
|
||||||
|
String benchMark = null;
|
||||||
|
|
||||||
Queue<string> qArguments = new Queue<string>(Arguments);
|
Queue<string> qArguments = new Queue<string>(Arguments);
|
||||||
while (qArguments.Count > 0)
|
while (qArguments.Count > 0)
|
||||||
|
@ -65,6 +65,9 @@ namespace ln.skyscanner
|
||||||
case "--import-skytron":
|
case "--import-skytron":
|
||||||
skytronImport = qArguments.Dequeue();
|
skytronImport = qArguments.Dequeue();
|
||||||
break;
|
break;
|
||||||
|
case "--benchmark":
|
||||||
|
benchMark = qArguments.Dequeue();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,6 +80,20 @@ namespace ln.skyscanner
|
||||||
si.Import();
|
si.Import();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (benchMark != null)
|
||||||
|
{
|
||||||
|
switch (benchMark)
|
||||||
|
{
|
||||||
|
case "odb":
|
||||||
|
BenchmarkODB();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Logging.Log(LogLevel.ERROR, "Unknown Benchmark: {0}", benchMark);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
throw new Exception("Quitting after benchmarking");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private SkyScanner()
|
private SkyScanner()
|
||||||
{
|
{
|
||||||
|
@ -192,7 +209,26 @@ namespace ln.skyscanner
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void BenchmarkODB()
|
||||||
|
{
|
||||||
|
int maxIterations = 10000;
|
||||||
|
|
||||||
|
for (int i = 0; i < maxIterations; i++)
|
||||||
|
{
|
||||||
|
int n = 0;
|
||||||
|
Logging.Log(LogLevel.INFO, "Benchmark ODB: Iteration {0} of {1}", i, maxIterations);
|
||||||
|
|
||||||
|
foreach (SkyCheckState checkState in SkyScanner.Instance.Entities.SkyCheckStates.ToArray())
|
||||||
|
{
|
||||||
|
SkyScanner.Instance.Entities.SkyCheckStates.Upsert(checkState);
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logging.Log(LogLevel.INFO, "Saved {0} SkyCheckStates", n);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue