この単純なコードは、AMD Athlon X3の100,000イベントで4.6秒かかります(i5の方が高速です)。
string queryString = "*";
int eventsCount = 0;
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
EventLogQuery eventsQuery = new EventLogQuery("MyLog", PathType.LogName, queryString);
EventLogReader logReader = new EventLogReader(eventsQuery);
for (EventRecord eventInstance = logReader.ReadEvent();
null != eventInstance; eventInstance = logReader.ReadEvent())
{
if (eventInstance.Id == 100) //random event id
++eventsCount;
}
stopWatch.Stop();
Console.WriteLine("Found events: {0}", eventsCount);
Console.WriteLine("Time elapsed: {0}", stopWatch.Elapsed);
パフォーマンスを向上させるために、適切に作成されたXPATHクエリを、独自に、またはWindowsイベントビューアを介して使用できます(タブCustom view
を選択するよりも作成しXML
ます)