예제 #1
0
		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();
			}
		}
예제 #2
0
		/// <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);
		}