Make new perf unit test pass
Ben Alpert committed
Sep 27, 2015 at 14:26 UTC
7938650ca97bb60516ed2e4c5603f6efaa89f8d4
8 files changed
+40
-5
src/renderers/dom/client/ReactBrowserEventEmitter.js
+6
@@ -16,6 +16,7 @@ var EventConstants = require('EventConstants');
16
var EventPluginHub = require('EventPluginHub');
17
var EventPluginRegistry = require('EventPluginRegistry');
18
var ReactEventEmitterMixin = require('ReactEventEmitterMixin');
19
+var ReactPerf = require('ReactPerf');
20
var ViewportMetrics = require('ViewportMetrics');
21
22
var assign = require('Object.assign');
@@ -373,4 +374,9 @@ var ReactBrowserEventEmitter = assign({}, ReactEventEmitterMixin, {
374
375
});
376
377
+ReactPerf.measureMethods(ReactBrowserEventEmitter, 'ReactBrowserEventEmitter', {
378
+ putListener: 'putListener',
379
+ deleteListener: 'deleteListener',
380
+});
381
+
382
module.exports = ReactBrowserEventEmitter;
src/renderers/dom/client/ReactDOMIDOperations.js
-1
@@ -92,7 +92,6 @@ var ReactDOMIDOperations = {
92
};
93
94
ReactPerf.measureMethods(ReactDOMIDOperations, 'ReactDOMIDOperations', {
95
- updatePropertyByID: 'updatePropertyByID',
95
dangerouslyReplaceNodeWithMarkupByID: 'dangerouslyReplaceNodeWithMarkupByID',
96
dangerouslyProcessChildrenUpdates: 'dangerouslyProcessChildrenUpdates',
97
});
src/renderers/dom/client/ReactMount.js
+3
@@ -440,6 +440,9 @@ TopLevelWrapper.prototype.render = function() {
440
* Inside of `container`, the first element rendered is the "reactRoot".
441
*/
442
var ReactMount = {
443
+
444
+ TopLevelWrapper: TopLevelWrapper,
445
+
446
/** Exposed for debugging purposes **/
447
_instancesByReactRootID: instancesByReactRootID,
448
src/renderers/dom/client/utils/DOMChildrenOperations.js
+5
@@ -14,6 +14,7 @@
14
15
var Danger = require('Danger');
16
var ReactMultiChildUpdateTypes = require('ReactMultiChildUpdateTypes');
17
+var ReactPerf = require('ReactPerf');
18
19
var setInnerHTML = require('setInnerHTML');
20
var setTextContent = require('setTextContent');
@@ -151,4 +152,8 @@ var DOMChildrenOperations = {
152
153
};
154
155
+ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', {
156
+ updateTextContent: 'updateTextContent',
157
+});
158
+
159
module.exports = DOMChildrenOperations;
src/renderers/dom/shared/CSSPropertyOperations.js
+5
@@ -14,6 +14,7 @@
14
15
var CSSProperty = require('CSSProperty');
16
var ExecutionEnvironment = require('ExecutionEnvironment');
17
+var ReactPerf = require('ReactPerf');
18
19
var camelizeStyleName = require('camelizeStyleName');
20
var dangerousStyleValue = require('dangerousStyleValue');
@@ -185,4 +186,8 @@ var CSSPropertyOperations = {
186
187
};
188
189
+ReactPerf.measureMethods(CSSPropertyOperations, 'CSSPropertyOperations', {
190
+ setValueForStyles: 'setValueForStyles',
191
+});
192
+
193
module.exports = CSSPropertyOperations;
src/renderers/dom/shared/DOMPropertyOperations.js
+7
@@ -13,6 +13,7 @@
13
'use strict';
14
15
var DOMProperty = require('DOMProperty');
16
+var ReactPerf = require('ReactPerf');
17
18
var quoteAttributeValueForBrowser = require('quoteAttributeValueForBrowser');
19
var warning = require('warning');
@@ -247,4 +248,10 @@ var DOMPropertyOperations = {
248
249
};
250
251
+ReactPerf.measureMethods(DOMPropertyOperations, 'DOMPropertyOperations', {
252
+ setValueForProperty: 'setValueForProperty',
253
+ setValueForAttribute: 'setValueForAttribute',
254
+ deleteValueForProperty: 'deleteValueForProperty',
255
+});
256
+
257
module.exports = DOMPropertyOperations;
src/test/ReactDefaultPerf.js
+11
-3
@@ -165,7 +165,11 @@ var ReactDefaultPerf = {
165
].totalTime = performanceNow() - start;
166
return rv;
167
} else if (fnName === '_mountImageIntoNode' ||
168
- moduleName === 'ReactDOMIDOperations') {
168
+ moduleName === 'ReactBrowserEventEmitter' ||
169
+ moduleName === 'ReactDOMIDOperations' ||
170
+ moduleName === 'CSSPropertyOperations' ||
171
+ moduleName === 'DOMChildrenOperations' ||
172
+ moduleName === 'DOMPropertyOperations') {
173
start = performanceNow();
174
rv = func.apply(this, args);
175
totalTime = performanceNow() - start;
@@ -198,8 +202,12 @@ var ReactDefaultPerf = {
202
});
203
} else {
204
// basic format
205
+ var id = args[0];
206
+ if (typeof id === 'object') {
207
+ id = ReactMount.getID(args[0]);
208
+ }
209
ReactDefaultPerf._recordWrite(
202
- args[0],
210
+ id,
211
fnName,
212
totalTime,
213
Array.prototype.slice.call(args, 1)
@@ -211,7 +219,7 @@ var ReactDefaultPerf = {
219
fnName === 'updateComponent' || // TODO: receiveComponent()?
220
fnName === '_renderValidatedComponent')) {
221
214
- if (typeof this._currentElement.type === 'string') {
222
+ if (this._currentElement.type === ReactMount.TopLevelWrapper) {
223
return func.apply(this, args);
224
}
225
src/test/ReactDefaultPerfAnalysis.js
+3
-1
@@ -22,7 +22,9 @@ var DOM_OPERATION_TYPES = {
22
REMOVE_NODE: 'remove',
23
SET_MARKUP: 'set innerHTML',
24
TEXT_CONTENT: 'set textContent',
25
- 'updatePropertyByID': 'update attribute',
25
+ 'setValueForProperty': 'update attribute',
26
+ 'setValueForAttribute': 'update attribute',
27
+ 'deleteValueForProperty': 'remove attribute',
28
'dangerouslyReplaceNodeWithMarkupByID': 'replace',
29
};
30