private void CleanUp(DirectoryInfo outputDir) { if (outputDir.Exists) { var walker = DirectoryInfoCache.ForestWithSync(outputDir).Walker; while (walker.HasNext) { walker.MoveNext(); var cur = walker.Current; var dir = cur.Element; if (cur.CurrentEdge == ForestNode <DirectoryInfoCache> .Edge.Leading) { var files = dir.Item.GetFiles(); Array.ForEach(files, (f) => f.Delete()); } if (cur.CurrentEdge == ForestNode <DirectoryInfoCache> .Edge.Trailing) { var children = dir.Item.GetDirectories(); Array.ForEach(children, (d) => d.Delete()); } } } else { outputDir.Create(); } }
public void DoBenchmark() { var solutionDir = @"../../../"; var benchDir = solutionDir + "bench/"; var outputDir = new DirectoryInfo(solutionDir + "test_tmp_result"); CleanUp(outputDir); var bzipPath = benchDir + JA_HEAD_NAME; PerfCounter counter = new PerfCounter(); counter.Start("AllBench"); var outputDirDIC = DirectoryInfoCache.CreateRoot(outputDir); outputDirDIC.InterestedFilePattern = "*.wiki"; outputDirDIC.SyncAllToFileSystem(); var dumper = Dumper.CreateRawDumper(bzipPath, true, outputDirDIC, counter); // simulate split folder for large data SetupParameterForBenchMark(dumper); dumper._bzipReader.DecodeAsync(); bzipPath = benchDir + "jatail.xml.bz2"; dumper = Dumper.CreateRawDumper(bzipPath, true, outputDirDIC, counter); SetupParameterForBenchMark(dumper); dumper._bzipReader.DecodeAsync(); counter.Stop("AllBench"); if (EnableReport) { Report(benchDir, counter); } Console.WriteLine(counter.ToString()); }
public void Test_Constructor() { var dic = new DirectoryInfoCache(null, new DirectoryInfo("C:\\dummy")); Assert.NotNull(dic); }