title: fastLm() is much slower than lm()
body: <p><code>fastLm()</code> is much slower than <code>lm()</code>. 
  Basically, I just call <code>lm()</code> and <code>fastLm()</code> with the same formula and data, but <code>fastLm()</code> seems to be much slower than <code>lm()</code>.
  Is this possible? I just don't know how could this happen?</p>
  
  <pre><code>dim(dat)
  #[1] 87462    90
  ##
  library(Rcpp)
  library(RcppEigen)
  library(rbenchmark)
  
  benchmark(fastLm(formula(mez),data=dat),lm(formula(mez),data=dat))
                                test replications elapsed relative user.self  sys.self user.child sys.child
  1 fastLm(formula(mez), data = dat)          100  195.81    7.079    189.36     6.27         NA        NA
  2     lm(formula(mez), data = dat)          100   27.66    1.000     24.52     3.02         NA        NA
  
  summary(mez)
  
  Call: lm(formula = totalActualVal ~ township + I(TotalFinishedSF^2) + 
      mainfloorSF + nbrFullBaths + township + range + qualityCodeDscr + 
      TotalFinishedSF:range + nbrBedRoom + PCT_HISP, data = dat)
  
  Residuals:
       Min       1Q   Median       3Q      Max 
  -2607622   -53820    -2893    40704  3116043 
  
  Coefficients:
                                Estimate Std. Error t value Pr(&gt;|t|) 
  (Intercept)                   2.418e+05  3.211e+03  75.307 &lt; 2e-16 *** 
  township1S                    1.907e+04  1.239e+03  15.385 &lt; 2e-16 *** 
  township2N                   -7.540e+04  1.467e+03 -51.383 &lt; 2e-16 *** 
  township3N                   -9.482e+04  1.482e+03 -63.976 &lt; 2e-16 *** 
  I(TotalFinishedSF^2)          1.415e-02  3.923e-04  36.063 &lt; 2e-16 *** 
  mainfloorSF                   6.754e+01  1.233e+00  54.793 &lt; 2e-16 *** 
  nbrFullBaths                  5.261e+03  7.542e+02   6.977 3.05e-12 *** 
  range71                      -2.802e+04  5.172e+03  -5.418 6.03e-08 *** 
  range72                      -5.599e+04  7.615e+03  -7.353 1.96e-13 *** 
  range73                      -6.414e+04  1.067e+04  -6.010 1.86e-09 *** 
  rangeothers                  -6.571e+04  2.662e+03 -24.687  &lt; 2e-16 *** 
  qualityCodeDscrEXCELLENT      5.800e+05  4.170e+03 139.090   &lt; 2e-16 *** 
  qualityCodeDscrEXCELLENT +    8.453e+05  9.713e+03  87.027   &lt; 2e-16 *** 
  qualityCodeDscrEXCELLENT++    8.929e+05  1.013e+04  88.149   &lt; 2e-16 *** 
  qualityCodeDscrEXCEPTIONAL 1  1.134e+06  8.336e+03 136.005   &lt; 2e-16 *** 
  qualityCodeDscrEXCEPTIONAL 2  1.536e+06  1.411e+04 108.884   &lt; 2e-16 *** 
  qualityCodeDscrEXCEPTIONAL 3  2.061e+06  4.679e+04  44.040   &lt; 2e-16 *** 
  qualityCodeDscrFAIR          -3.288e+04  3.760e+03  -8.744   &lt; 2e-16 *** 
  qualityCodeDscrGUT            5.931e+04  1.142e+03  51.941   &lt; 2e-16 *** 
  qualityCodeDscrLOW           -1.394e+05  1.799e+04  -7.748 9.45e-15 *** 
  qualityCodeDscrVERY GOOD      2.106e+05  2.242e+03  93.925  &lt; 2e-16 *** 
  qualityCodeDscrVERY GOOD +    3.126e+05  4.406e+03  70.942   &lt; 2e-16 *** 
  qualityCodeDscrVERY GOOD ++   4.042e+05  3.839e+03 105.275   &lt; 2e-16 *** 
  nbrBedRoom                    2.334e+04  5.874e+02  39.739   &lt; 2e-16 *** 
  PCT_HISP                     -1.571e+03  5.162e+01 -30.426   &lt; 2e-16 *** 
  range70 :TotalFinishedSF      3.997e+01  2.363e+00  16.919   &lt; 2e-16 *** 
  range71 :TotalFinishedSF      1.300e+02  2.990e+00  43.490   &lt; 2e-16 *** 
  range72 :TotalFinishedSF     -2.289e+01  4.598e+00  -4.978 6.42e-07 *** 
  range73 :TotalFinishedSF     -4.111e+01  6.797e+00  -6.048 1.47e-09 *** 
  rangeothers:TotalFinishedSF  -6.331e+00  2.215e+00  -2.859  0.00426 ** 
  
  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
  
  Residual standard error: 129100 on 87432 degrees of freedom Multiple
  R-squared:  0.8296, Adjusted R-squared:  0.8295  F-statistic:
  1.468e+04 on 29 and 87432 DF,  p-value: &lt; 2.2e-16
  </code></pre>