react-native/Libraries
Nick Lockwood 9f48c004ba Added setChildren() function
Summary:
public
Most of the time - especially during app startup - when we call UIManager.manageChildren(), we are actually just adding the first set of children to a newly created view.

This case is already optimized for in the JS code, by memoizing index arrays at various sizes, but this is not especially efficient since it is still sending an array of indices with each call that could be easily inferred on the native side instead.

I've added a hybrid native/JS optimization that improves the performance for this case. It's not a huge win in terms of time saved, but benchmarks show improvements in the ~1% range for several of the app startup metrics.

Reviewed By: tadeuzagallo

Differential Revision: D2757388

fb-gh-sync-id: 74f0cdbba93af2c04d69b192a8c2cc5cf429fa09
2015-12-15 06:56:31 -08:00
..
ART Mark `-[init]` w RCT_NOT_IMPLEMENTED 2015-11-14 06:29:27 -08:00
ActionSheetIOS Add tintColor for buttons. 2015-12-09 05:19:25 -08:00
AdSupport Text highlighting on iOS 2015-07-24 08:41:58 -08:00
Animated fix animated lint warnings 2015-12-13 11:45:28 -08:00
AppRegistry Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
AppStateIOS revert D2372548 to fix initial app state issue 2015-09-25 13:25:26 -07:00
BatchedBridge Rename BridgeProfiling to Systrace for consistency 2015-12-11 03:53:19 -08:00
CameraRoll RCTImagePickerManager crash on image from CameraRoll 2015-12-01 02:13:28 -08:00
Components Add deep linking support to IntentAndroid 2015-12-15 06:27:27 -08:00
CustomComponents Support onLayout and onContentSizeChange attributes on ListView 2015-12-10 12:46:31 -08:00
DebugComponentHierarchy Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
Device Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
Devtools Use pre-bundled elements inspector 2015-10-29 11:21:32 -07:00
Fetch Add fetch's clone function to Request and Response prototypes 2015-10-30 10:57:33 -07:00
Geolocation geolocation is now opensourced on android 2015-12-15 10:10:20 +08:00
Image add backfaceVisibility to ImageStylePropTypes 2015-12-14 18:57:31 -08:00
Inspector Inspecting stateless components. 2015-12-08 10:13:25 -08:00
Interaction Make InteractionManager.runAfterInteractions() return a Promise 2015-11-09 20:14:26 -08:00
JavaScriptAppEngine Rename BridgeProfiling to Systrace for consistency 2015-12-11 03:53:19 -08:00
LayoutAnimation Wrapped UIManager native module for better abstraction 2015-11-27 07:00:32 -08:00
LinkingIOS Add support for Universal Links 2015-12-04 09:05:31 -08:00
Modal Improve Modal docs describing iOS only support 2015-12-05 18:48:28 -08:00
NativeApp Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
Network Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
Picker Added support for styling the PickerIOS 2015-12-08 07:48:26 -08:00
Portal Wrapped UIManager native module for better abstraction 2015-11-27 07:00:32 -08:00
PullToRefresh Exposes `setNativeProps` method for PullToRefreshViewAndroid 2015-12-14 12:58:31 -08:00
PushNotificationIOS Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
QuickPerformanceLogger added QPL for main interactions 2015-09-29 22:25:23 -07:00
RCTTest fix several lint warnings 2015-12-01 07:26:29 -08:00
RKBackendNode Wrapped UIManager native module for better abstraction 2015-11-27 07:00:32 -08:00
ReactIOS better error message for `propTypes` check 2015-12-09 04:06:31 -08:00
ReactNative Added setChildren() function 2015-12-15 06:56:31 -08:00
Sample Remove invariant of Sample.ios.js that is not used 2015-05-26 18:25:00 -07:00
Settings Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
Storage Batch AsyncStorage.multiGet calls 2015-12-03 09:10:29 -08:00
StyleSheet enable the minWidth/maxWidth/minHeight/maxHeight features 2015-11-17 10:58:32 -08:00
Text Fix Text + TouchableWithoutFeedback 2015-12-09 17:18:26 -08:00
Utilities Added setChildren() function 2015-12-15 06:56:31 -08:00
Vibration Text highlighting on iOS 2015-07-24 08:41:58 -08:00
WebSocket Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
react-native add Clipboard component for ios and android 2015-12-09 10:04:21 -08:00
vendor Fix errors uncovered by v0.19.0 2015-12-01 20:11:26 -08:00
Promise.js Replace ES6Promise with Promise 2015-04-15 06:06:29 -08:00