private void PrepareDbFile(int itemCount) { Sysout("Preparing DB file ..."); DeleteFile(_dbFileName); Db4objects.Db4o.IO.IoAdapter rafFactory = new RandomAccessFileAdapter(); Db4objects.Db4o.IO.IoAdapter raf = rafFactory.Open(_dbFileName, false, 0, false); LogReplayer replayer = new LogReplayer(CrudApplication.LogFileName(itemCount), raf ); try { replayer.ReplayLog(); } catch (IOException) { ExitWithError("Error reading I/O operations log file"); } finally { raf.Close(); } }
/// <exception cref="IOException"></exception> private void BenchmarkCommand(string command, int itemCount, string dbFileName, TextWriter @out) { HashSet commands = CommandSet(command); Db4objects.Db4o.IO.IoAdapter io = IoAdapter(dbFileName); LogReplayer replayer = new LogReplayer(CrudApplication.LogFileName(itemCount), io , commands); List4 commandList = replayer.ReadCommandList(); StopWatch watch = new StopWatch(); watch.Start(); replayer.PlayCommandList(commandList); watch.Stop(); io.Close(); long timeElapsed = watch.Elapsed(); long operationCount = ((long)replayer.OperationCounts()[command]); PrintStatisticsForCommand(@out, command, timeElapsed, operationCount); }