Сделал эту тему для себя. Буду сюда закидывать всякие темы оптимизации ангуляра чтобы не потерять.
Ну во первых от самого ангуляра:
1. one-time binding - выполняет компиляцию шаблона только один раз, не работает на фильтры
2. $cacheFactory - обычный кеш, можно юзать для фильтров, особенно когда их много. Если фильтры чужие - делаем свой фильтр и внутри него кешим результаты.
3. ng-show медленнее чем ng-if
Для angular-translate:
Откопал в интернете отличное решение
вот кстати мой issue на эту тему
Исследование производительности:
chrome extension - angular batarang stable, вкладка performance
Количество вотчеров на странице:
(function () {
var root = angular.element(document.getElementsByTagName('body'));
var watchers = [];
var f = function (element) {
angular.forEach(['$scope', '$isolateScope'], function (scopeProperty) {
if (element.data() && element.data().hasOwnProperty(scopeProperty)) {
angular.forEach(element.data()[scopeProperty].$$watchers, function (watcher) {
watchers.push(watcher);
});
}
});
angular.forEach(element.children(), function (childElement) {
f(angular.element(childElement));
});
};
f(root);
// Remove duplicate watchers
var watchersWithoutDuplicates = [];
angular.forEach(watchers, function(item) {
if(watchersWithoutDuplicates.indexOf(item) < 0) {
watchersWithoutDuplicates.push(item);
}
});
console.log(watchersWithoutDuplicates.length);
})();
Работа конкретного участка кода:
console.time("TimerName";);
setTimeout(function() {
console.timeEnd("TimerName");
}, 100);
Сниппеты:
как добавить сниппет в хром
WebWorkers
AngularJS one-time binding support for angular-translate
Add one-time binding support for your AngularJS applications by extending angular-translate with translate-once
atticuswhite.com
One-time binding and load static files do not translate · Issue #1450 · angular-translate/angular-translate
Subject of the issue One-time binding in filter and load static files do not translate before ui-router navigate somewhere Your environment angula
github.com
bahmutov/code-snippets
code-snippets - Chrome DevTools code snippets
github.com
bahmutov/code-snippets
code-snippets - Chrome DevTools code snippets
github.com
bahmutov/code-snippets
code-snippets - Chrome DevTools code snippets
github.com
bahmutov/code-snippets
code-snippets - Chrome DevTools code snippets
github.com
JavaScript сниппеты в Chrome | Stepan Suvorov Blog
stepansuvorov.com
Web Workers in Angular - Kind of Code
An example of how you can use Web Workers in Angular and make it feel like part of the framework.
kindofcode.com