Компилятор Mono C # выполняет распараллеливание цикла во время компиляции? - PullRequest
4 голосов
/ 19 августа 2011

не намного больше, чем сказано в названии. Если я сделаю:

  int[] arr = new int[(long)Math.Pow(2, 25)];
  for (int j = 0; j < arr.Length; j++)
    arr[j] = j;

Будет ли компилятор распараллеливать этот код каким-либо образом? Я спрашиваю, потому что я вижу, что 3 из 4 ядер загораются при запуске.

Спасибо.

1 Ответ

3 голосов
/ 19 августа 2011

Просто по умолчанию я считаю, что нет, это не так;потому что MS.Net этого не делает.

Это не значит, что .Net запускается не на всех ваших ядрах, но размещенный вами фрагмент должен быть однопоточным.

...