[change] StyleSheet performance rewrite

Improves StyleSheet benchmark performance by 13x. Removes undocumented
`StyleSheet.resolve` API.

Typical mean (and first) task duration.

[benchmark] DeepTree: depth=3, breadth=10, wrap=4)
  -master  2809.76ms (3117.64ms)
  -patch     211.2ms  (364.28ms)

[benchmark] DeepTree: depth=5, breadth=3, wrap=1)
  -master   421.25ms (428.15ms)
  -patch     32.46ms  (47.36ms)

This patch adds memoization of DOM prop resolution (~3-4x faster), and
re-introduces a `className`-based styling strategy (~3-4x faster).
Styles map to "atomic css" rules.

Fix #307
This commit is contained in:
Nicolas Gallagher
2016-12-31 17:11:22 -08:00
parent a2cafe56fc
commit d87f71ebc1
41 changed files with 2358 additions and 2290 deletions
+1
View File
@@ -24,6 +24,7 @@
"dependencies": {
"animated": "^0.1.3",
"array-find-index": "^1.0.2",
"asap": "^2.0.5",
"babel-runtime": "^6.11.6",
"debounce": "^1.0.0",
"deep-assign": "^2.0.0",