{"push_id":805810779,"size":1,"distinct_size":0,"ref":"refs/heads/g3_v1_5","head":"652b83eb226131d131a44453520a569202aa4aac","before":"20cf7d5e3a0af766b1929e24794859c79439351c","commits":[{"sha":"652b83eb226131d131a44453520a569202aa4aac","author":{"email":"f303af71931eaf81fef2d6773e0e2c7c0dbe2247@gmail.com","name":"Daniel Herman"},"message":"perf($compile): Lazily compile the `transclude` function\n\nFor transcluded directives, the transclude function can be lazily compiled\nmost of the time since the contents will not be needed until the\n`transclude` function was actually invoked.  For example, the `transclude`\nfunction that is passed to `ng-if` or `ng-switch-when` does not need to be\ninvoked until the condition that it's bound to has been matched.  For\ncomplex trees or switch statements, this can represent significant\nperformance gains since compilation of branches is deferred, and that\ncompilation may never actually happen if it isn't needed.\n\nThere are two instances where compilation will not be lazy; when we scan\nahead in the array of directives to be processed and find at least two of\nthe following:\n\n* A directive that is transcluded and does not allow multiple transclusion\n* A directive that has templateUrl and replace: true\n* A directive that has a template and replace: true\n\nIn both of those cases, we will need to continue eager compilation in\norder to generate the multiple transclusion exception at the correct time.","distinct":false,"url":"https://api.github.com/repos/angular/angular.js/commits/652b83eb226131d131a44453520a569202aa4aac"}]}