angular.js/perf/MiscPerf.js
Misko Hevery 8f0dcbab80 feat(scope): new and improved scope implementation
- Speed improvements (about 4x on flush phase)
- Memory improvements (uses no function closures)
- Break $eval into $apply, $dispatch, $flush
- Introduced $watch and $observe

Breaks angular.equals() use === instead of ==
Breaks angular.scope() does not take parent as first argument
Breaks scope.$watch() takes scope as first argument
Breaks scope.$set(), scope.$get are removed
Breaks scope.$config is removed
Breaks $route.onChange callback has not "this" bounded
2011-08-02 01:00:03 +02:00

21 lines
662 B
JavaScript

describe('perf misc', function(){
it('operation speeds', function(){
perf(
function typeByTypeof(){ return typeof noop == 'function'; }, // WINNER
function typeByProperty() { return noop.apply && noop.call; },
function typeByConstructor() { return noop.constructor == Function; }
);
});
it('property access', function(){
var name = 'value';
var none = 'x';
var scope = {};
perf(
function direct(){ return scope.value; }, // WINNER
function byName() { return scope[name]; },
function undefinedDirect(){ return scope.x; },
function undefiendByName() { return scope[none]; }
);
});
});