I was just curious about this discussion on stackoverflow and decided to do own test:
[javascript]
for(var i = 0; i < 100000; i++){
    randomKey = randomString();
    bigScope1[randomKey] = randomString();
    bigScope2[randomKey] = randomString();
    bigNgBindTempalte += ‘<div class="’ + randomString() + ‘" ng-bind="’+ randomKey + ‘"></div>’;
    bigExpressionTemplate += ‘<div class="’ + randomString() + ‘">{{‘ + randomKey + ‘}}</div>’;
  }
  // console.time(‘ngBind’);
  // $compile(‘<div>’ + bigNgBindTempalte + ‘</div>’)(bigScope1);
  // console.timeEnd(‘ngBind’);
  console.time(‘expression’);
  $compile(‘<div>’ + bigExpressionTemplate + ‘</div>’)(bigScope2);
  console.timeEnd(‘expression’);
[/javascript]
code.
and indeed ngBind is faster,my machine for 100000 iterations shows:
ngBind: 46984.981ms expression: 51107.555ms
It’s still not clear why the result are so weird when you run it together (one by one). But it’s another question.
