AngularJS Digest 1.2 vs 1.3 (v10)

Revision 10 of this benchmark created by Andy Martushev on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
<script> ng_1_2_5 = angular; angular = undefined;</script>

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular.min.js"></script>
<script> ng_1_2_13 = angular; angular = undefined;</script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js"></script>
<script> ng_1_2_20 = angular; angular = undefined;</script>

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.min.js"></script>
<script> ng_1_2_21 = angular; angular = undefined;</script>

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.15/angular.min.js"></script>
<script> ng_1_3_0_b15 = angular; angular = undefined;</script>

Setup

function createScopeTree(angular) {
      var rootScope = angular.injector(['ng']).get('$rootScope');
    
      for (var i = 0; i < 100; i++) {
        var child = rootScope.$new();
        for (var j = 0; j < 100; j++) {
          child.a = {
            b: {
              c: 1
            }
          };
          child.$watch('a.b.c', function() {});
        }
      }
      return rootScope;
    }
    
    
    var ng_1_2_5_scope = createScopeTree(ng_1_2_5);
    var ng_1_2_13_scope = createScopeTree(ng_1_2_13);
    var ng_1_2_20_scope = createScopeTree(ng_1_2_20);
    var ng_1_2_21_scope = createScopeTree(ng_1_2_21);
    var ng_1_3_0_b15_scope = createScopeTree(ng_1_3_0_b15);

Teardown


    ng_1_2_5_scope = null;
    ng_1_2_13_scope = null;
    ng_1_2_20_scope = null;
    ng_1_2_21_scope = null;
    ng_1_3_0_b15_scope = null;
  

Test runner

Ready to run.

Testing in
TestOps/sec
Warmup 1.2.5
ng_1_2_5_scope.$digest();
ready
1.2.5
ng_1_2_5_scope.$digest();
ready
Warmup 1.2.20
ng_1_2_20_scope.$digest();
ready
1.2.20
ng_1_2_20_scope.$digest();
ready
Warmup 1.3.0-beta15
ng_1_3_0_b15_scope.$digest();
ready
1.3.0-beta15
ng_1_3_0_b15_scope.$digest();
ready
Warmup 1.2.13
ng_1_2_13_scope.$digest();
ready
1.2.13
ng_1_2_13_scope.$digest();
ready
Warmup 1.2.21
ng_1_2_21_scope.$digest();
ready
1.2.21
ng_1_2_21_scope.$digest();
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.