Ejemplo n.º 1
0
        private static void Run(IDupDetector dupDetector, int workers, string folder)
        {
            var files  = Directory.GetFiles(folder, "*.*", SearchOption.AllDirectories);
            var result = dupDetector.Find(files, workers);

            foreach (var dup in result.Duplicates.Where(x => x != null))
            {
                var dupItems   = dup.Items.OrderByDescending(f => f.ModifiedTime);
                var latestItem = dupItems.First();
                Log("\tLatest one:");
                Log(string.Format("\t\t{0}", latestItem.FileName));
                var remainingItems = dupItems.Skip(1).ToArray();
                Log(string.Format("\tDup items:{0}", remainingItems.Length));
                foreach (var item in remainingItems)
                {
                    Log(string.Format("\t\t{0}", item.FileName));
                }
                Log(string.Empty);
            }

            Log(string.Empty);
            Log($"Failed to process: {result.FailedToProcessFiles.Count}", true);
            foreach (var item in result.FailedToProcessFiles)
            {
                Log($"\t{item}");
            }

            Log($"Dup groups: {result.Duplicates.Count}", true);
            Log($"Total files: {result.TotalFiles}", true);
            Log($"Total compared files: {result.TotalComparedFiles}", true);
            Log($"Total file bytes: {result.TotalBytesInComparedFiles}", true);
            Log($"Total read bytes: {result.TotalReadBytes}", true);
        }
Ejemplo n.º 2
0
        private static void Perf(IDupDetector dupDetector, int workers, string folder, int times)
        {
            var files = Directory.GetFiles(folder, "*.*", SearchOption.AllDirectories);
            var timer = new Stopwatch();
            List<Duplicate> result = null;

            if (times <= 0)
                times = 10;

            timer.Start();

            for (var i = 0; i < times; i++)
            {
                result = dupDetector.Find(files, workers);
            }

            timer.Stop();

            Log(string.Format("dup method: {0}, workers: {1}, groups: {2}, times: {3}, avg elapsed: {4}", dupDetector, workers, result.Count, times, TimeSpan.FromMilliseconds(timer.ElapsedMilliseconds / times)));
        }
Ejemplo n.º 3
0
        private static void Run(IDupDetector dupDetector, int workers, string folder)
        {
            var files  = Directory.GetFiles(folder, "*.*", SearchOption.AllDirectories);
            var result = dupDetector.Find(files, workers);

            Log("dup groups:" + result.Count);
            foreach (var dup in result)
            {
                var dupItems   = dup.Items.OrderByDescending(f => f.ModifiedTime);
                var latestItem = dupItems.First();
                Log("\tlatest one:");
                Log(string.Format("\t\t{0}", latestItem.FileName));
                var remainingItems = dupItems.Skip(1).ToArray();
                Log(string.Format("\tdup items:{0}", remainingItems.Count()));
                foreach (var item in remainingItems)
                {
                    Log(string.Format("\t\t{0}", item.FileName));
                }
                Log(string.Empty);
            }
        }
Ejemplo n.º 4
0
        private static void Perf(IDupDetector dupDetector, int workers, string folder, int times)
        {
            var       files  = Directory.GetFiles(folder, "*.*", SearchOption.AllDirectories);
            var       timer  = new Stopwatch();
            DupResult result = default;

            if (times <= 0)
            {
                times = 10;
            }

            timer.Start();

            for (var i = 0; i < times; i++)
            {
                result = dupDetector.Find(files, workers);
            }

            timer.Stop();

            Log(string.Format("Dup method: {0}, workers: {1}, groups: {2}, times: {3}, avg elapse: {4}", dupDetector, workers, result.Duplicates.Count, times, TimeSpan.FromMilliseconds(timer.ElapsedMilliseconds / times)), true);
        }
Ejemplo n.º 5
0
 private static void Run(IDupDetector dupDetector, int workers, string folder)
 {
     var files = Directory.GetFiles(folder, "*.*", SearchOption.AllDirectories);
     var result = dupDetector.Find(files, workers);
     Log("dup groups:" + result.Count);
     foreach (var dup in result)
     {
         var dupItems = dup.Items.OrderByDescending(f => f.ModifiedTime);
         var latestItem = dupItems.First();
         Log("\tlatest one:");
         Log(string.Format("\t\t{0}", latestItem.FileName));
         var remainingItems = dupItems.Skip(1).ToArray();
         Log(string.Format("\tdup items:{0}", remainingItems.Count()));
         foreach (var item in remainingItems)
         {
             Log(string.Format("\t\t{0}", item.FileName));
         }
         Log(string.Empty);
     }
 }