title: Save time with parallel FOR loop
body: <p>I have a question concerning parallel for loops. I have the following code:</p>
  
  <pre><code>    public static void MultiplicateArray(double[] array, double factor)
      {
          for (int i = 0; i &lt; array.Length; i++)
          {
              array[i] = array[i] * factor;
          }
      }
  
      public static void MultiplicateArray(double[] arrayToChange, double[] multiplication)
      {
          for (int i = 0; i &lt; arrayToChange.Length; i++)
          {
              arrayToChange[i] = arrayToChange[i] * multiplication[i];
          }
      }
  
      public static void MultiplicateArray(double[] arrayToChange, double[,] multiArray, int dimension)
      {
          for (int i = 0; i &lt; arrayToChange.Length; i++)
          {
              arrayToChange[i] = arrayToChange[i] * multiArray[i, dimension];
          }
      }
  </code></pre>
  
  <p>Now I try to add parallel function:</p>
  
  <pre><code>    public static void MultiplicateArray(double[] array, double factor)
      {
          Parallel.For(0, array.Length, i =&gt;
              {
                  array[i] = array[i] * factor;
              });
      }
  
      public static void MultiplicateArray(double[] arrayToChange, double[] multiplication)
      {
          Parallel.For(0, arrayToChange.Length, i =&gt;
          {
              arrayToChange[i] = arrayToChange[i] * multiplication[i];
          });
      }
  
      public static void MultiplicateArray(double[] arrayToChange, double[,] multiArray, int dimension)
      {
          Parallel.For(0, arrayToChange.Length, i =&gt;
          {
              arrayToChange[i] = arrayToChange[i] * multiArray[i, dimension];
          });
      }
  </code></pre>
  
  <p>The issue is, that I want to save time, not to waste it. With the standard for loop it computes about 2 minutes, but with the parallel for loop it takes 3 min. Why?</p>