$rootScope.emit() vs $rootScope.$broadcast() (v71)

Revision 71 of this benchmark created on


Description

This test compares the impact of event bubbling in an angular application and compares it against a "flat" event bus provided by $rootScope.$emit.

The good thing is there should barely cases where you actually need $broadcast. Learn how to avoid it here:

http://stackoverflow.com/a/19498009/288703

Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.3/angular.min.js"></script>

<script>
angular
    .module("testApp",[])
    .controller("testController",function($rootScope, $scope) {

       

    })    .controller("testControllertwo",function($rootScope, $scope) {

        

    });
</script>

<div ng-app="testApp">
    <div ng-controller="testController">
        
    </div>
        <div ng-controller="testControllertwo">
        
    </div>
</div>

Test runner

Ready to run.

Testing in
TestOps/sec
$broadcast
window.$rootScope.$broadcast('fooHappened');
ready
$emit
window.$rootScope.$emit('fooHappened');
ready

Revisions

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