Может ли кто-нибудь объяснить, почему Parallel.For ведет себя медленнее, чем For при записи в BitArray? Это как-то связано с блокировкой памяти? [code]float[] output = new float[100000]; BitArray bitArray = new BitArray(output.Length); Parallel.For(0, output.Length, i => { bitArray[i] = output[i] > 0.5f; }); [/code] [code]float[] output = new float[100000]; BitArray bitArray = new BitArray(output.Length); for (int i = 0; i < output.Length; i++) { bitArray[i] = output[i] > 0.5f; } [/code] Ожидали, что Parallel.For будет быстрее, чем For, но на моей машине это заняло на два порядка больше времени, чем на другом (+10 с против 100 мс).
Может ли кто-нибудь объяснить, почему Parallel.For ведет себя медленнее, чем For при записи в BitArray? Это как-то связано с блокировкой памяти?
float[] output = new float ;
BitArray bitArray = new BitArray(output.Length);
Parallel.For(0,...
Может ли кто-нибудь объяснить, почему Parallel.For ведет себя медленнее, чем For при записи в BitArray? Это как-то связано с блокировкой памяти?
float[] output = new float ;
BitArray bitArray = new BitArray(output.Length);
Parallel.For(0,...
Может ли кто-нибудь объяснить, почему Parallel.For ведет себя медленнее, чем For при записи в BitArray? Это как-то связано с блокировкой памяти?
float[] output = new float ;
BitArray bitArray = new BitArray(output.Length);
Parallel.For(0,...
Может ли кто-нибудь объяснить, почему Parallel.For ведет себя медленнее, чем For при записи в BitArray? Это как-то связано с блокировкой памяти?
float[] output = new float ;
BitArray bitArray = new BitArray(output.Length);
Parallel.For(0,...
Может ли кто-нибудь объяснить, почему Parallel.For ведет себя медленнее, чем For при записи в BitArray? Это как-то связано с блокировкой памяти?
float[] output = new float ;
BitArray bitArray = new BitArray(output.Length);
Parallel.For(0,...