unsafe public static void TestQuickSort(int n) { Console.WriteLine("----------------------------------------------------------------"); Console.WriteLine("Test Pointer Quick Sort"); int[] array = new int[n]; Console.WriteLine("Generate data"); dh.StartWatch(); RandomIteratorUsafeXorshiftEn rnd = new RandomIteratorUsafeXorshiftEn(n + 1); for (int i = 0; i < n; i++) { array[i] = rnd.Next32(); } dh.StoptWatch(); Console.WriteLine(dh.GetMessage()); Console.WriteLine("Sort"); dh.StartWatch(); fixed(int *start = &array[0], end = &array[n - 1]) { Quicksort(start, end); } dh.StoptWatch(); Console.WriteLine(dh.GetMessage()); array = null; GarbachCollectorHelper.GBForceRun(); }
public static void TestQuickSortTaskLimited(int n, int limit) { Console.WriteLine("----------------------------------------------------------------"); Console.WriteLine("Test Pointer Quick Sort Limited "); int[] array = new int[n]; Console.WriteLine("Generate data"); dh.StartWatch(); RandomIteratorUsafeXorshiftEn rnd = new RandomIteratorUsafeXorshiftEn(n + 1); for (int i = 0; i < n; i++) { array[i] = rnd.Next32(); } dh.StoptWatch(); Console.WriteLine(dh.GetMessage()); Console.WriteLine("Sort"); dh.StartWatch(); QuicksortTaskLimited(array, 0, n - 1, limit); dh.StoptWatch(); Console.WriteLine(dh.GetMessage()); array = null; GarbachCollectorHelper.GBForceRun(); }
public static void TestSort(int n) { Console.WriteLine("----------------------------------------------------------------"); Console.WriteLine("Test Pointer Sort "); int[] array = new int[n]; Console.WriteLine("Generate data"); dh.StartWatch(); RandomIteratorUsafeXorshiftEn rnd = new RandomIteratorUsafeXorshiftEn(n + 1); for (int i = 0; i < n; i++) { array[i] = rnd.Next32(); } dh.StoptWatch(); Console.WriteLine(dh.GetMessage()); Console.WriteLine("Sort"); dh.StartWatch(); Array.Sort(array); dh.StoptWatch(); Console.WriteLine(dh.GetMessage()); array = null; GarbachCollectorHelper.GBForceRun(); }