title: StartCoroutine overhead vs Invoke (Unity3D)
body: <p>I am comparing StartCoroutine and Invoke in a Method that should be execute in a specific time. To my understanding these two functions should take the same time (1 sec). Calling the first method with invoke completes in about 1sec, using a coroutine takes almost 2 seconds! How can that be?</p>
  
  <pre><code>private void iincrease_arrow_invoked(){
      if (arrow.transform.localScale.x &lt;= 1f) {
          arrow.transform.localScale = new Vector3 (arrow.transform.localScale.x + 0.01f, arrow.transform.localScale.y, arrow.transform.localScale.z);
          Invoke ("iincrease_arrow_invoked", 0.01f);
      } 
  
  }
  
  IEnumerator increase_arrow_coroutine(){
  
      yield return new WaitForSeconds (0.01f);
      if (arrow.transform.localScale.x &lt;= 1f) {
          arrow.transform.localScale = new Vector3 (arrow.transform.localScale.x + 0.01f, arrow.transform.localScale.y, arrow.transform.localScale.z);
          StartCoroutine (increase_arrow_coroutine ());
      } 
  
  }
  </code></pre>