Optimize ng-repeat // don't do this <div ng-repeat="item in myLongList"> {{ item.property }} </div> // use track by! <div ng-repeat="item in myLongList track by item.id"> {{ item.property }} </div> What does track by actually do? When myLongList is re-rendered, Angular does not have to rebuild an element which has already been rendered. This speeds up the cycle and avoids useless DOM manipulation. Filters are something to also be avoided as much as possible when using within a loop. ng-bind is better than {{}} like this : <div> Hello, {{variable}} </div> This means that the whole text "Hello, {{variable}}" enclosed by < div > will be copied and stored in memory . If you do something like this : <div> Hello, <span ng-bind="variable"></span> </div> That will only stored the value of variable in memory , angular will register a watcher where th...