|
1 | 1 | // assumes profileDirectiveDigest(selector) |
2 | 2 | // use: findExpensiveDigest(selector1, selector2, ...); |
3 | | -function findExpensiveDigest() { |
4 | | - if (typeof findExpensiveDigest !== 'function') { |
5 | | - throw new Error('cannot find findExpensiveDigest function'); |
| 3 | + |
| 4 | +/* global profileDirectiveDigest */ |
| 5 | +(function (window) { |
| 6 | + |
| 7 | + function findExpensiveDigest() { |
| 8 | + if (typeof profileDirectiveDigest !== 'function') { |
| 9 | + throw new Error('cannot find profileDirectiveDigest function'); |
| 10 | + } |
| 11 | + var selectors = Array.prototype.slice.call(arguments, 0); |
| 12 | + var durations = selectors.map(function timeSelectorDigest(selector) { |
| 13 | + /* global performance */ |
| 14 | + var started = performance.now(); |
| 15 | + profileDirectiveDigest(selector); |
| 16 | + var takes = performance.now() - started; |
| 17 | + return takes; |
| 18 | + }); |
| 19 | + var merged = selectors.map(function (selector, k) { |
| 20 | + return { selector: selector, takes: durations[k] }; |
| 21 | + }); |
| 22 | + merged = merged.sort(function (a, b) { |
| 23 | + return b.takes - a.takes; |
| 24 | + }); |
| 25 | + console.log('elements with expensive digest cycles'); |
| 26 | + console.table(merged); |
6 | 27 | } |
7 | | - var selectors = Array.prototype.slice.call(arguments, 0); |
8 | | - var durations = selectors.map(function timeSelectorDigest(selector) { |
9 | | - var started = performance.now(); |
10 | | - profileDirectiveDigest(selector); |
11 | | - var takes = performance.now() - started; |
12 | | - return takes; |
13 | | - }); |
14 | | - var merged = selectors.map(function (selector, k) { |
15 | | - return { selector: selector, takes: durations[k] }; |
16 | | - }); |
17 | | - merged = merged.sort(function (a, b) { |
18 | | - return b.takes - a.takes; |
19 | | - }); |
20 | | - console.log('elements with expensive digest cycles'); |
21 | | - console.table(merged); |
22 | | -} |
| 28 | + |
| 29 | + window.findExpensiveDigest = findExpensiveDigest; |
| 30 | +}(window)); |
0 commit comments