title: Instantiation in a loop: Verbosity vs. Performance
body: <p>So in the following bit of code, I really like the verbosity of scenario one, but I would like to know how big of a performance hit this takes when compared to scenario two. Is instantiation in the loop a big deal? </p>
  
  <p>Is the syntactic benefit (which I like, some might not even agree with it being verbose or optimal) worth said performance hit? You can assume that the collections remain reasonably small (N &lt; a few hundred).</p>
  
  <pre><code>// First scenario
  var productCategoryModels = new List&lt;ProductCategoryModel&gt;();
  foreach (var productCategory in productCategories)
  {
      var model = new ProductCategoryModel.ProductCategoryModelConverter(currentContext).Convert(productCategory);
      productCategoryModels.Add(model);
  }
  
  // Second scenario
  var productCategoryModels = new List&lt;ProductCategoryModel&gt;();
  var modelConvert = new ProductCategoryModel.ProductCategoryModelConverter(currentContext);
  
  foreach (var productCategory in productCategories)
  {
      var model = modelConvert.Convert(productCategory);
      productCategoryModels.Add(model);
  }
  </code></pre>
  
  <p>Would love to hear your guys' thoughts on this as I see this quite often.</p>