Пример #1
0
 public int counter()
 {
     if (count == 0 && root != null)
     {
         count = CommonEntry.GetDirEntries(root).Count();
     }
     return(count);
 }
Пример #2
0
        public void PerformanceTest_Compare_TraverseTree_With_DirEntryEnumerator()
        {
            var rootEntries = RootEntry.LoadCurrentDirCache();

            System.Threading.Thread.Sleep(200); // msec
            //_num = 0;
            _fileCount = 0;
            var sw = new Stopwatch();

            sw.Start();
            for (var i = 0; i < 100; ++i)
            {
                var deEnumerator = CommonEntry.GetDirEntries(rootEntries);
                foreach (var dirEntry in deEnumerator)
                {
                    //_num += (ulong)dirEntry.FullPath.Length;
                    ++_fileCount;
                    //if (Hack.BreakConsoleFlag)
                    //{
                    //    Console.WriteLine("\nBreak key detected exiting full TraverseTree inner.");
                    //    break;
                    //}
                }
            }
            sw.Stop();
            var ts          = sw.Elapsed;
            var elapsedTime = $"{ts.Hours:00}:{ts.Minutes:00}:{ts.Seconds:00}.{ts.Milliseconds/10:00}";

            Console.WriteLine($"Enumerator took : {elapsedTime}");
            Console.WriteLine($"Total files enumerated : {_fileCount}");
            //Console.WriteLine("Total path length : {0}", _num);

            var re = rootEntries.First();

            sw.Reset();
            sw.Start();
            //_num = 0;
            _fileCount = 0;
            for (var i = 0; i < 100; ++i)
            {
                re.TraverseTreePair((p, d) => { ++_fileCount; return(true); });
            }
            sw.Stop();
            ts          = sw.Elapsed;
            elapsedTime = $"{ts.Hours:00}:{ts.Minutes:00}:{ts.Seconds:00}.{ts.Milliseconds/10:00}";
            Console.WriteLine($"TraverseTreePair took : {elapsedTime}");
            Console.WriteLine($"Total files enumerated : {_fileCount}");
            //Console.WriteLine("Total path length : {0}", _num);
        }
Пример #3
0
        public long DoDirEntryEnumeratorCountTest(RootEntry root, int repeatCount)
        {
            var sw = new Stopwatch();

            sw.Start();
            var rootEntries = new List <RootEntry> {
                root
            };
            var dirEntries = CommonEntry.GetDirEntries(rootEntries);

            for (var i = 0; i < repeatCount; i++)
            {
                dirEntries.Count();
            }
            sw.Stop();
            return(sw.ElapsedMilliseconds);
        }
Пример #4
0
        private static void FindPouplous(int minimumCount)
        {
            var rootEntries  = RootEntry.LoadCurrentDirCache();
            var entries      = CommonEntry.GetDirEntries(rootEntries);
            var largeEntries = entries
                               .Where(e => e.Children != null && e.Children.Count > minimumCount)
                               .ToList();

            largeEntries.Sort(CompareDirEntries);

            foreach (var e in largeEntries.Where(e => e.Children != null && e.Children.Count > minimumCount))
            {
                Console.WriteLine($"{e.FullPath} {e.Children.Count}");
                if (Hack.BreakConsoleFlag)
                {
                    break;
                }
            }
        }
Пример #5
0
            public void BeforeAllTests()
            {
                RootSmall = RootEntry.LoadDirCache(TestCatalog200K);
                if (RootSmall == null)
                {
                    Assert.Inconclusive("TestData not Found" + TestCatalog200K);
                }
                var e1 = CommonEntry.GetDirEntries(RootSmall);

                RootSmallCount = e1.Count();

                RootLarge = RootEntry.LoadDirCache(TestCatalog1_2M);
                if (RootSmall == null)
                {
                    Assert.Inconclusive("TestData not Found" + TestCatalog1_2M);
                }
                var e2 = CommonEntry.GetDirEntries(RootLarge);

                RootLargeCount = e2.Count();
            }