@samitouri / QOS-React-2 / commits / 7938650ca9

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