Beispiel #1
0
    string ListSort(SortSettings settings)
    {
        var list = ManagedDataGenerator.GenrateRandomList(settings.Count, settings.Min, settings.Max);

        ManagedDataGenerator.SortPartial(list, settings.Sorted);
        return(BaseSortRunner.GetResult(settings,
                                        () =>
        {
            ManagedDataGenerator.ShuffleList(list, 1f);
            ManagedDataGenerator.SortPartial(list, settings.Sorted);
        },
                                        () =>
        {
            list.Sort();
        }
                                        ));
    }
Beispiel #2
0
    static string SelectionUIntArray(SortSettings settings)
    {
        var array = NativeDataGenerator.GenrateRandomArray(settings.Count, (uint)settings.Min, (uint)settings.Max);

        NativeDataGenerator.SortPartial(array, settings.Sorted);
        var res = BaseSortRunner.GetResult(settings,
                                           () =>
        {
            NativeDataGenerator.ShuffleList(array, 1f);
            NativeDataGenerator.SortPartial(array, settings.Sorted);
        },
                                           () =>
        {
            SelectionUIntArray(array);
        }
                                           );

        array.Dispose();
        return(res);
    }
Beispiel #3
0
    //check if instantiating NativeSlice have performance cost
    string NativeSliceSortIgnoreSliceCost(SortSettings settings)
    {
        var array = NativeDataGenerator.GenrateRandomArray(settings.Count, (uint)settings.Min, (uint)settings.Max);

        NativeDataGenerator.SortPartial(array, settings.Sorted);
        var slice = new NativeSlice <uint>(array);
        var res   = BaseSortRunner.GetResult(settings,
                                             () =>
        {
            NativeDataGenerator.ShuffleList(array, 1f);
            NativeDataGenerator.SortPartial(array, settings.Sorted);
        },
                                             () =>
        {
            SelectionSortSlice(array);
        }
                                             );

        array.Dispose();
        return(res);
    }
 private MainSortRunner()
 {
     managedRunner = new ManagedSortRunner();
     nativeRunner  = new NativeSortRunner();
 }