Реализуйте обработку элементов вектора, например,
умножение элементов вектора на число

return value * index;
serial 1 2 4 8 16
Size 1010 0.03 1.4 14 27 55 98
Size 10210^2 0.01 1.1 10 16 32 51
Size 10310^3 0.02 1.3 9.4 10 18 36
Size 10310^3 0.17 1.4 4.8 7.7 17 39
Size 10410^4 1.8 3.1 16 21 35 98
Size 10510^5 17 23 32 34 48 93
  1. Выполните анализ эффективности при усложнении обработки каждого элемента
    вектора.
return (int) Math.Pow(value, index % 10);
serial 1 2 4 8 16
Size 1010 0.03 1.0 1.6 2.8 2.2 4.3
Size 10210^2 0.01 0.36 1.3 1.1 3.5 5.1
Size 10310^3 0.16 0.45 0.63 1.0 1.7 3.2
Size 10310^3 1.2 1.5 1.2 1.3 2.0 3.4
Size 10410^4 12 13 7.7 6.1 8.6 6.0
Size 10510^5 121 122 62 39 38 31
  1. Исследуйте эффективность разделения по диапазону при неравномерной
    вычислительной сложности обработки элементов вектора.
            int result = 1;
            for (int i = 0; i < Math.Sqrt(index); i++)
            {
                result += i * value;
            }

            return result;
serial 1 2 4 8 16
Size 1010 0.01 0.67 1.2 3.3 4.0 4.3
Size 10210^2 0.01 0.41 0.86 1.4 2.7 3.9
Size 10310^3 0.36 0.68 0.68 1.1 1.6 3.1
Size 10310^3 10 11 7.7 4.9 5.3 5.0
Size 10410^4 334 334 216 125 89 70
Size 10510^5 10488 10484 6777 3721 2054 1765
  1. Исследуйте эффективность параллелизма при круговом разделении элементов
    вектора. Сравните с эффективностью разделения по диапазону.
serial 1 2 4 8 16
Size 1010 0.01 0.35 0.66 1.1 5.1 6.0
Size 10210^2 0.01 0.35 0.49 0.94 2.2 3.3
Size 10310^3 0.52 0.62 0.65 0.9 1.6 2.9
Size 10310^3 10 12 6.1 3.9 3.6 4.7
Size 10410^4 333 330 165 84 74 65
Size 10510^5 10488 10282 5156 2621 1442 1618