Commit Graph

5823 Commits

Author SHA1 Message Date
Ben Alpert ba0792e72b Add createClass stress test
Running this is left as an exercise for the reader, since my measure.py isn't designed for this at present. But something like this might work:

```diff
diff --git a/scripts/bench/measure.py b/scripts/bench/measure.py
index 4cedf47..627ec97 100755
--- a/scripts/bench/measure.py
+++ b/scripts/bench/measure.py
@@ -79,15 +79,12 @@ def _measure_ssr_ms(engine, react_path, bench_name, bench_path, measure_warm):
             if (typeof React !== 'object') throw new Error('React not laoded');
             report('factory_ms', END - START);

-            globalEval(readFile(ENV.bench_path));
-            if (typeof Benchmark !== 'function') {
-              throw new Error('benchmark not loaded');
-            }
+            globalEval("bm = (function(){" + readFile("bench-createclass-madman.js") + "})");
+            bm();
             var START = now();
-            var html = React.renderToString(React.createElement(Benchmark));
-            html.charCodeAt(0);  // flatten ropes
+            bm();
             var END = now();
-            report('ssr_' + ENV.bench_name + '_cold_ms', END - START);
+            report('cc_' + ENV.bench_name + '_cold_ms', END - START);

             var warmup = ENV.measure_warm ? 80 : 0;
             var trials = ENV.measure_warm ? 40 : 0;
@@ -119,7 +116,7 @@ def _main():
         return 1
     react_path = sys.argv[1]

-    trials = 30
+    trials = 60
     sys.stderr.write("Measuring SSR for PE benchmark (%d trials)\n" % trials)
     for i in range(trials):
         for engine in [
@@ -132,7 +129,7 @@ def _main():
         sys.stderr.flush()
     sys.stderr.write("\n")

-    trials = 3
+    trials = 0#3
     sys.stderr.write("Measuring SSR for PE with warm JIT (%d slow trials)\n" % trials)
     for i in range(trials):
         for engine in [
```
2015-11-25 18:24:46 -08:00
Paul O’Shannessy d01188133e Merge pull request #5533 from kryogenic/patch-1
Use null instead of '' in ternary expression
2015-11-23 12:12:14 -08:00
Kale b74e53c3ca Use null instead of '' in ternary expression
A blank string ('') resolves to <span></span> which produces a warning when place inside a <tr>
2015-11-23 06:38:08 -07:00
Paul O’Shannessy 7ea1d15197 Merge pull request #5524 from chenglou/woohoo-its-me
Remove unreachable return from shouldUpdateReactComponent
2015-11-22 18:54:17 -08:00
Cheng Lou 60af7d1c3d Remove unreachable return from shouldUpdateReactComponent
Eslint didn't catch this (we do have this rule turned on) because it's a
big. There are no other locations I think. Detected that when I minified
some code.
2015-11-21 18:00:40 -05:00
Paul O’Shannessy c5867ea401 Merge pull request #5518 from mhujer/docs-spread-fix
Docs: Rest and Spread Properties - ECMAScript
2015-11-20 11:30:02 -08:00
Ben Alpert 812e1a877f Merge pull request #5500 from hejld/master
Update DOM_OPERATION_TYPES mappings for ReactDefaultPerfAnalysis
2015-11-20 11:21:06 -08:00
Sebastian Markbåge 64f795e5ef Merge pull request #5411 from simonewebdesign/master
ReactShallowRenderer.render returns the rendered output
2015-11-20 11:20:37 -08:00
Martin Hujer 23edc0d274 Rest/Spread Properties may not be part of ES7
According to the http://www.2ality.com/2015/11/tc39-process.html it is
not a good idea to guess target ES version until the proposal reaches
later phases.

Even the proposal repository now states
  > It is a Stage 2 proposal for ECMAScript. <
(it has been changed in e9813ac78a)
2015-11-20 19:36:29 +01:00
Ben Alpert acabb22a1d Merge pull request #5503 from spicyj/measure-analyze
benchmarking: measure and analyze scripts
2015-11-19 17:01:53 -08:00
Ben Alpert 907dee2b5d Merge pull request #5451 from spicyj/empty-comments
Use comment nodes for empty components
2015-11-19 16:56:23 -08:00
Paul O’Shannessy 1cdbff26ab Merge pull request #5511 from KeweiCodes/patch-1
Typo
2015-11-19 15:56:25 -08:00
Paul O’Shannessy aa1e58a41b Merge pull request #5508 from yangshun/patch-1
Add in missing closing </li> for docs template
2015-11-19 13:57:37 -08:00
Kewei Jiang 179263c72f Typo 2015-11-20 10:01:29 +13:00
Jim 22a3f6724a Merge pull request #5510 from jimfb/useless-find-dom-nodes
Removed unnecessary variables/assertions.
2015-11-19 12:14:05 -08:00
jim 1d071c20e8 Removed unnecessary variables/assertions. 2015-11-19 11:32:51 -08:00
Jim c643ecd7c7 Merge pull request #5495 from jimfb/remove-public-dom-instance
Remove legacy dom node/ref stuff.
2015-11-19 11:27:24 -08:00
Tay Yang Shun ab6892956d Add in missing closing </li> for docs template 2015-11-20 00:56:25 +08:00
Paul O’Shannessy 0440de9f89 update website for 0.14.3
(cherry picked from commit 3f2f763dea)
2015-11-18 22:39:49 -08:00
Paul O’Shannessy 399a6cfd1c Update readme for 0.14.3
(cherry picked from commit 1cef6ebabf)
2015-11-18 22:39:49 -08:00
Paul O’Shannessy b40221973c v0.14.3 blog post
(cherry picked from commit f92a630737)
2015-11-18 22:39:49 -08:00
Paul O’Shannessy fd03270372 Changelog for 0.14.3
(cherry picked from commit 55b6839684)
2015-11-18 22:39:49 -08:00
Ben Alpert 844ca8b6b2 benchmarking: measure and analyze scripts
This uses wall-clock time (for now) so it's noisier than alternatives
(cachegrind, CPU perf-counters), but it's still valuable. In a future diff we
can make it use those.

`measure.py` outputs something that `analyze.py` can understand, but you can use `analyze.py` without `measure.py` too. The file format is simple:

```
$ cat measurements.txt
factory_ms_jsc_jit 13.580322265625
factory_ms_jsc_jit 13.659912109375
factory_ms_jsc_jit 13.67919921875
factory_ms_jsc_nojit 12.827880859375
factory_ms_jsc_nojit 13.105224609375
factory_ms_jsc_nojit 13.195068359375
factory_ms_node 40.4891400039196
factory_ms_node 40.6669420003891
factory_ms_node 43.52413299679756
ssr_pe_cold_ms_jsc_jit 43.06005859375
...
```

(The lines do not need to be sorted.)

Comparing 0.14.0 vs master:

```
$ ./measure.py react-0.14.0.min.js >014.txt
Measuring SSR for PE benchmark (30 trials)
..............................
Measuring SSR for PE with warm JIT (3 slow trials)
...
$ ./measure.py react.min.js >master.txt
Measuring SSR for PE benchmark (30 trials)
..............................
Measuring SSR for PE with warm JIT (3 slow trials)
...
$ ./analyze.py 014.txt master.txt
Comparing 014.txt (control) vs master.txt (test)
Significant differences marked by ***
% change from control to test, with 99% CIs:

* factory_ms_jsc_jit
    % change:  -0.56% [ -2.51%,  +1.39%]
    means: 14.037 (control), 13.9593 (test)
* factory_ms_jsc_nojit
    % change:  +1.23% [ -1.18%,  +3.64%]
    means: 13.2586 (control), 13.4223 (test)
* factory_ms_node
    % change:  +3.53% [ +0.29%,  +6.77%]  ***
    means: 42.0529 (control), 43.54 (test)
* ssr_pe_cold_ms_jsc_jit
    % change:  -6.84% [ -9.04%,  -4.65%]  ***
    means: 44.2444 (control), 41.2187 (test)
* ssr_pe_cold_ms_jsc_nojit
    % change: -11.81% [-14.66%,  -8.96%]  ***
    means: 52.9449 (control), 46.6953 (test)
* ssr_pe_cold_ms_node
    % change:  -2.70% [ -4.52%,  -0.88%]  ***
    means: 96.8909 (control), 94.2741 (test)
* ssr_pe_warm_ms_jsc_jit
    % change: -17.60% [-22.04%, -13.16%]  ***
    means: 13.763 (control), 11.3439 (test)
* ssr_pe_warm_ms_jsc_nojit
    % change: -20.65% [-22.62%, -18.68%]  ***
    means: 30.8829 (control), 24.5074 (test)
* ssr_pe_warm_ms_node
    % change:  -8.76% [-13.48%,  -4.03%]  ***
    means: 30.0193 (control), 27.3964 (test)
$
```
2015-11-18 16:26:01 -08:00
Paul O’Shannessy d1eba1f78c Merge pull request #5501 from zpao/release-react-dom-server
Make sure react-dom-server is shipped in release process
2015-11-18 13:16:57 -08:00
Paul O’Shannessy 5a80b20017 Make sure react-dom-server is shipped in release process
Also removed some duplicated code to simplify a bit
2015-11-18 13:08:44 -08:00
hejld a3779421a1 Update DOM_OPERATION_TYPES mappings for ReactDefaultPerfAnalysis 2015-11-18 20:58:32 +01:00
Ben Alpert 1a6d1e74e0 Merge pull request #5330 from laskos/fix-shallow-rendering-function-refs
Fix shallow renderer with ref as function
2015-11-17 23:53:00 -08:00
Paul O’Shannessy e7a5a98044 Merge pull request #5417 from zpao/ol-reversed
Support reversed for <ol>s
2015-11-17 23:24:27 -08:00
Paul O’Shannessy 904e9e3ea6 Merge pull request #5445 from yangshun/controlled-components-in-tutorial
Use controlled components in tutorial
2015-11-17 22:59:40 -08:00
Tay Yang Shun 3812b95450 [docs] Use controlled components for tutorial 2015-11-18 14:43:03 +08:00
Paul O’Shannessy c4f134883d Support reversed for <ol>s 2015-11-17 22:42:01 -08:00
Paul O’Shannessy 60cba8fcf7 Merge pull request #5496 from zpao/reactdomserverfollowup
Followup to #5381
2015-11-17 21:57:51 -08:00
Paul O’Shannessy 7729d51726 Followup to #5381
- Export to the right variable
- Simplify lintignore
- Fix cURL command for TravisCI
2015-11-17 17:57:43 -08:00
Paul O’Shannessy c07b304c76 Merge pull request #5381 from kevinrobinson/react-dom-server-package
Add additional secret property to build artifact for react-dom-server
2015-11-17 16:48:08 -08:00
jim 538d0b08f2 Remove legacy dom node/ref stuff. 2015-11-17 15:30:35 -08:00
Ben Alpert e03df26e62 Merge pull request #5493 from spicyj/gh-4589
Finish comment in ReactDOMComponentTree
2015-11-17 09:54:23 -08:00
Ben Alpert 6c89857cdc Finish comment in ReactDOMComponentTree 2015-11-17 09:41:24 -08:00
Ben Alpert 892352e95d Merge pull request #5489 from hejld/master
Fix typos and redundant words
2015-11-17 09:37:43 -08:00
hejld ba8c987391 Fix typos and redundant words 2015-11-17 12:39:29 +01:00
Ben Alpert 85a3142f04 Merge pull request #5481 from hejld/master
Fixed typo
2015-11-16 11:24:04 -08:00
Jim 80bcc519d7 Merge pull request #2774 from jimfb/webcomponents
Added info (example+doc) about react with webcomponents
2015-11-16 11:19:26 -08:00
hejld 94504c3767 Remove rendundant 'the'; keep iff (if and only if) 2015-11-16 20:05:37 +01:00
Jim 7a453646be Added info (example+doc) about react with webcomponents 2015-11-13 20:22:24 -08:00
Paul O’Shannessy 96549a1f48 Merge pull request #5458 from chicoxyzzy/update_deps
Update deps
2015-11-12 16:45:27 -08:00
Paul O’Shannessy 034cfc96c7 [docs] Properly fix Korean docs 2015-11-12 15:57:17 -08:00
Paul O’Shannessy 72d9a8bc15 [docs] Use updated Korean translation
See #5456 for details
2015-11-12 14:23:52 -08:00
Paul O’Shannessy 09b7ff1fc4 Merge pull request #5444 from zpao/tutorial-ids-for-data
[tutorial] Use ids in comments data
2015-11-12 14:22:00 -08:00
Paul O’Shannessy 3bcb0d63f0 [tutorial] Use ids in comments data 2015-11-12 14:20:54 -08:00
chico dbe8212974 update deps 2015-11-13 01:15:23 +03:00
Paul O’Shannessy 2d5612913f Merge pull request #5456 from hugo-agbonon/fix-classname-manipulation-doc
Revert class name manipulation doc to english
2015-11-12 09:57:55 -08:00