public static void Show() { int[] arr = new int[] { 100, 500, 1000, 2000, 5000 }; foreach (int i in arr) { Console.WriteLine("Длина массива - " + i); string[] array = TextGenerator.GenerateText(i).Split(); Console.WriteLine("сортировка пузырьком O(n^2) " + ", время выполнения - " + ActionTimeMeasurer.Measure(new Action(() => BubbleSorter.Sort(array)))); array = TextGenerator.GenerateText(i).Split(); Console.WriteLine("сортировка вставками O(log(n)) " + ", время выполнения - " + ActionTimeMeasurer.Measure(new Action(() => MergeSorter.Sort(array)))); GC.Collect(); Console.WriteLine(); } Console.ReadKey(); }
public static void Show() { int[] arr = new int[] { 10000, 20000, 30000, 40000, 50000, 100000, 200000, 500000, 1000000, 2000000, 5000000, 10000000, 100000000 }; foreach (int i in arr) { Console.WriteLine("Длина массива - " + i); int[] array = IntArrayGenerator.GenerateArray(i); Console.WriteLine("быстрая сортировка " + ", время выполнения - " + ActionTimeMeasurer.Measure(new Action(() => HoareSorter.Sort(array)))); array = IntArrayGenerator.GenerateArray(i); Console.WriteLine("встроенная сортировка " + ", время выполнения - " + ActionTimeMeasurer.Measure(new Action(() => Array.Sort(array)))); array = IntArrayGenerator.GenerateArray(i); Console.WriteLine("сортировка слиянием " + ", время выполнения - " + ActionTimeMeasurer.Measure(new Action(() => MergeSorter.Sort(array)))); GC.Collect(); Console.WriteLine(); } Console.ReadKey(); }
public async void Sort() { string[] arr = await Task.Run(() => { InputText = InputText.Trim(); string[] array = Split(InputText); if (array.Length > 0) { GC.Collect(); BubbleSortingTime = (int)ActionTimeMeasurer.Measure(new Action(() => BubbleSorter.Sort(array))); array = Split(InputText); if (array.Length > 0) { GC.Collect(); MergeSortingTime = (int)ActionTimeMeasurer.Measure(new Action(() => MergeSorter.Sort(array))); } WordsInText = array.Length; } return(array); }); ArrToObsColl(arr); CalcWords(arr); SortTextLabel = "Sort Text"; UniqueWordsInText = SortedTextWords.Count(); RaisePropertyChanged("SortTextLabel"); UpdateInfo(); }
public void TestMethod3() { long time = ActionTimeMeasurer.Measure(new Action(() => { Thread.Sleep(18000); })); Assert.AreEqual(18000, time); }
public static void Show() { string pathToFolder = Directory.GetCurrentDirectory() .Replace(@"bin\Debug", "") + @"Files\"; var countFiles = new DirectoryInfo(pathToFolder).GetFiles().Length; Console.WriteLine("---------------------------------------------------"); for (int i = 1; i <= countFiles; i++) { string[] text = File.ReadAllLines(pathToFolder + "input" + i + ".txt"); StackOperationsParser sop = new StackOperationsParser(); List <StackOperation> operations = sop.Parse(text); Console.WriteLine("input" + i + ".txt"); Console.WriteLine("Время на считывание - " + ActionTimeMeasurer.Measure (new Action(() => sop.Parse(text)))); Console.WriteLine(); StackRealization <object> stack = new StackRealization <object>(); var watch = new Stopwatch(); foreach (StackOperation operation in operations) { switch (operation.Command) { case StackCommand.Push: watch.Start(); long executionTime = ActionTimeMeasurer.Measure (new Action(() => stack.Push(operation.Object))); watch.Stop(); Console.WriteLine("Команда: Push(" + operation.Object + ")"); Console.WriteLine("Время выполнения: " + executionTime); break; case StackCommand.Pop: var saveElement = stack.Top(); watch.Start(); long executionTime2 = ActionTimeMeasurer.Measure (new Action(() => stack.Pop())); watch.Stop(); Console.WriteLine("Команда: Pop()"); Console.WriteLine("Возвращенное значeние: " + saveElement); Console.WriteLine("Время выполнения: " + executionTime2); break; case StackCommand.Top: watch.Start(); long executionTime3 = ActionTimeMeasurer.Measure (new Action(() => stack.Top())); watch.Stop(); Console.WriteLine("Команда: Top()"); Console.WriteLine("Возвращенное значeние: " + stack.Top()); Console.WriteLine("Время выполнения: " + executionTime3); break; case StackCommand.isEmpty: watch.Start(); long executionTime4 = ActionTimeMeasurer.Measure (new Action(() => stack.IsEmpty())); watch.Stop(); Console.WriteLine("Команда: IsEmpty()"); Console.WriteLine("Возвращенное значeние: " + stack.IsEmpty()); Console.WriteLine("Время выполнения: " + executionTime4); break; case StackCommand.Print: watch.Start(); long executionTime5 = ActionTimeMeasurer.Measure (new Action(() => stack.Print())); watch.Stop(); Console.WriteLine("Команда: Print()"); Console.WriteLine("Время выполнения: " + executionTime5); break; default: throw new Exception(); } string stackСondition = ObjectsToString(stack.Print()); Console.WriteLine("Состояние стека: " + stackСondition); Console.WriteLine(); } Console.WriteLine("Время на выполнение - " + watch.ElapsedMilliseconds); Console.WriteLine("---------------------------------------------------"); } }