Exemplo n.º 1
0
 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();
     }
 }
Exemplo n.º 2
0
        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);
        }