static (float, double) RunSort(SortSettings settings, Action randomizeList, Action sorting)
    {
        float timeMs = 0;

        for (int i = 0; i < settings.TestCount; i++)
        {
            randomizeList();
            timeMs += Profiling.ExecutingProfile(sorting);
        }

        return(timeMs / settings.TestCount, 0);
    }
    static (float, double) RunSortWithMemoryDebug(SortSettings settings, Action randomizeList, Action sorting)
    {
        float  timeMs   = 0;
        double memoryKb = 0;

        for (int i = 0; i < settings.TestCount; i++)
        {
            randomizeList();
            memoryKb += Profiling.MemoryProfile(() =>
            {
                timeMs += Profiling.ExecutingProfile(sorting);
            });
        }

        return(timeMs / settings.TestCount, memoryKb / settings.TestCount);
    }