react-native-windows 0.84.0 → 0.85.0-preview.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +1 -5
- package/Directory.Build.props +2 -17
- package/Directory.Build.targets +12 -4
- package/Folly/ThreadNameStub.cpp +4 -6
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
- package/Libraries/Animated/Animated.d.ts +8 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -4
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/animations/Animation.js +3 -3
- package/Libraries/Animated/animations/DecayAnimation.js +4 -4
- package/Libraries/Animated/animations/SpringAnimation.js +5 -5
- package/Libraries/Animated/animations/TimingAnimation.js +5 -5
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
- package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
- package/Libraries/Animated/useAnimatedColor.js +25 -0
- package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValueXY.js +26 -0
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +3 -3
- package/Libraries/BatchedBridge/NativeModules.js +12 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.windows.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +6 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
- package/Libraries/Components/ScrollView/ScrollView.js +19 -9
- package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +8 -8
- package/Libraries/Components/Switch/Switch.js +3 -3
- package/Libraries/Components/Switch/Switch.windows.js +3 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
- package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
- package/Libraries/Components/TextInput/TextInput.js +8 -4
- package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
- package/Libraries/Components/View/View.windows.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +14 -14
- package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
- package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ExtendedError.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +3 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +4 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -6
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlay.js +2 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
- package/Libraries/Image/Image.android.js +172 -306
- package/Libraries/Image/ImageProps.js +9 -11
- package/Libraries/Image/ImageSource.js +2 -2
- package/Libraries/Image/ImageSourceUtils.js +8 -4
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/ImageViewNativeComponent.js +7 -16
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +5 -4
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +3 -3
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +38 -24
- package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
- package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
- package/Libraries/LogBox/LogBox.js +42 -19
- package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
- package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
- package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.d.ts +4 -0
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/Modal/Modal.windows.js +7 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +5 -5
- package/Libraries/Pressability/Pressability.windows.js +5 -5
- package/Libraries/Pressability/PressabilityDebug.js +1 -1
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/Pressability/usePressability.js +3 -14
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +18 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +4 -4
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +3 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
- package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
- package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
- package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
- package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
- package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
- package/Libraries/StyleSheet/processBoxShadow.js +44 -4
- package/Libraries/StyleSheet/processColorArray.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +2 -2
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/Text.windows.js +342 -717
- package/Libraries/Text/TextNativeComponent.js +14 -7
- package/Libraries/Text/TextProps.js +4 -4
- package/Libraries/Text/TextProps.windows.js +4 -4
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +21 -21
- package/Libraries/Types/CoreEventTypes.windows.js +21 -21
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/HMRClient.js +32 -5
- package/Libraries/Utilities/IPerformanceLogger.js +4 -4
- package/Libraries/Utilities/codegenNativeCommands.js +4 -4
- package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -3
- package/Libraries/Utilities/useMergeRefs.js +2 -2
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +16 -20
- package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +28 -46
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +0 -3
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +4 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +154 -31
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +170 -15
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +3 -1
- package/Microsoft.ReactNative/Fabric/Composition/SelectionItemAutomationEvent.h +73 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +105 -32
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +7 -2
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +2 -7
- package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -61
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
- package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
- package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
- package/Microsoft.ReactNative/QuirkSettings.h +0 -43
- package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
- package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
- package/Microsoft.ReactNative/ReactHost/React.h +0 -5
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
- package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
- package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
- package/Microsoft.ReactNative/RedBox.cpp +0 -9
- package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
- package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
- package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
- package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
- package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
- package/PropertySheets/Autolink.props +1 -1
- package/PropertySheets/Bundle.props +1 -1
- package/PropertySheets/CIBuildOptimizations.props +2 -2
- package/PropertySheets/Codegen.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/NuGet.LockFile.props +2 -1
- package/PropertySheets/React.Cpp.props +4 -4
- package/PropertySheets/ReactNativeArchitecture.props +6 -24
- package/ReactCommon/ReactCommon.vcxproj +5 -6
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +54 -5
- package/Scripts/OfficeReact.Win32.nuspec +0 -1
- package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
- package/Scripts/UpdateNightlyDependencies.ps1 +47 -0
- package/Scripts/creaternwapp.cmd +29 -17
- package/Scripts/creaternwlib.cmd +31 -35
- package/Shared/DevSettings.h +0 -3
- package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
- package/Shared/Networking/WinRTWebSocketResource.h +3 -119
- package/Shared/Shared.vcxitems +63 -38
- package/Shared/Shared.vcxitems.filters +54 -0
- package/Shared/Utils.cpp +0 -88
- package/Shared/Utils.h +0 -14
- package/Shared/WebSocketResourceFactory.cpp +28 -0
- package/Shared/tracing/fbsystrace.h +1 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
- package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
- package/codegen/react/components/rnwcore/Props.cpp +17 -7
- package/codegen/react/components/rnwcore/Props.h +3 -1
- package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
- package/codegen/rnwcoreJSI.h +93 -77
- package/{Folly → external}/.clang-format +0 -1
- package/external/External.vcxitems +10 -0
- package/external/fast-float/.syncignore +10 -0
- package/external/fast-float/LICENSE-APACHE +190 -0
- package/external/fast-float/LICENSE-BOOST +23 -0
- package/external/fast-float/LICENSE-MIT +27 -0
- package/external/fast-float/README.md +545 -0
- package/external/fast-float/cgmanifest.json +15 -0
- package/external/fast-float/fast-float.vcxitems +14 -0
- package/external/fast-float/include/fast_float/ascii_number.h +588 -0
- package/external/fast-float/include/fast_float/bigint.h +638 -0
- package/external/fast-float/include/fast_float/constexpr_feature_detect.h +46 -0
- package/external/fast-float/include/fast_float/decimal_to_binary.h +212 -0
- package/external/fast-float/include/fast_float/digit_comparison.h +457 -0
- package/external/fast-float/include/fast_float/fast_float.h +59 -0
- package/external/fast-float/include/fast_float/fast_table.h +708 -0
- package/external/fast-float/include/fast_float/float_common.h +1240 -0
- package/external/fast-float/include/fast_float/parse_number.h +399 -0
- package/external/fast-float/sync-config.json +8 -0
- package/external/fmt/.syncignore +10 -0
- package/external/fmt/CONTRIBUTING.md +20 -0
- package/external/fmt/LICENSE +27 -0
- package/external/fmt/README.md +484 -0
- package/external/fmt/doc/ChangeLog-old.md +3290 -0
- package/external/fmt/doc/api.md +650 -0
- package/external/fmt/doc/fmt.css +61 -0
- package/external/fmt/doc/fmt.js +4 -0
- package/external/fmt/doc/get-started.md +222 -0
- package/external/fmt/doc/index.md +151 -0
- package/external/fmt/doc/perf.svg +1 -0
- package/external/fmt/doc/python-license.txt +290 -0
- package/external/fmt/doc/syntax.md +887 -0
- package/external/fmt/fmt.vcxitems +28 -0
- package/external/fmt/include/fmt/args.h +228 -0
- package/external/fmt/include/fmt/base.h +3077 -0
- package/external/fmt/include/fmt/chrono.h +2432 -0
- package/external/fmt/include/fmt/color.h +612 -0
- package/external/fmt/include/fmt/compile.h +529 -0
- package/external/fmt/include/fmt/core.h +5 -0
- package/external/fmt/include/fmt/format-inl.h +1928 -0
- package/external/fmt/include/fmt/format.h +4427 -0
- package/external/fmt/include/fmt/os.h +439 -0
- package/external/fmt/include/fmt/ostream.h +211 -0
- package/external/fmt/include/fmt/printf.h +656 -0
- package/external/fmt/include/fmt/ranges.h +882 -0
- package/external/fmt/include/fmt/std.h +699 -0
- package/external/fmt/include/fmt/xchar.h +322 -0
- package/external/fmt/src/fmt.cc +135 -0
- package/external/fmt/src/format.cc +43 -0
- package/external/fmt/src/os.cc +403 -0
- package/external/fmt/sync-config.json +8 -0
- package/external/folly/.syncignore +60 -0
- package/external/folly/LICENSE +200 -0
- package/external/folly/README.md +263 -0
- package/{fmt → external/folly/folly}/.clang-format +0 -1
- package/external/folly/folly/AtomicHashArray-inl.h +546 -0
- package/external/folly/folly/AtomicHashArray.h +431 -0
- package/external/folly/folly/AtomicHashMap-inl.h +653 -0
- package/external/folly/folly/AtomicHashMap.h +484 -0
- package/external/folly/folly/AtomicIntrusiveLinkedList.h +206 -0
- package/external/folly/folly/AtomicLinkedList.h +110 -0
- package/external/folly/folly/AtomicUnorderedMap.h +522 -0
- package/external/folly/folly/BUCK +1631 -0
- package/external/folly/folly/BUILD_MODE.bzl +72 -0
- package/external/folly/folly/Benchmark.cpp +986 -0
- package/external/folly/folly/Benchmark.h +680 -0
- package/external/folly/folly/BenchmarkUtil.h +47 -0
- package/external/folly/folly/Bits.h +17 -0
- package/external/folly/folly/CMakeLists.txt +110 -0
- package/external/folly/folly/CPortability.h +338 -0
- package/external/folly/folly/CancellationToken-inl.h +449 -0
- package/external/folly/folly/CancellationToken.cpp +250 -0
- package/external/folly/folly/CancellationToken.h +365 -0
- package/external/folly/folly/Chrono.h +132 -0
- package/external/folly/folly/ClockGettimeWrappers.cpp +93 -0
- package/external/folly/folly/ClockGettimeWrappers.h +29 -0
- package/external/folly/folly/ConcurrentBitSet.h +157 -0
- package/external/folly/folly/ConcurrentLazy.h +74 -0
- package/external/folly/folly/ConcurrentSkipList-inl.h +341 -0
- package/external/folly/folly/ConcurrentSkipList.h +824 -0
- package/external/folly/folly/ConstructorCallbackList.h +158 -0
- package/external/folly/folly/Conv.h +2026 -0
- package/external/folly/folly/CppAttributes.h +170 -0
- package/external/folly/folly/CpuId.h +297 -0
- package/external/folly/folly/DefaultKeepAliveExecutor.h +172 -0
- package/external/folly/folly/Demangle.cpp +255 -0
- package/external/folly/folly/Demangle.h +73 -0
- package/external/folly/folly/DiscriminatedPtr.h +236 -0
- package/external/folly/folly/DynamicConverter.h +17 -0
- package/external/folly/folly/Exception.h +150 -0
- package/external/folly/folly/ExceptionString.cpp +51 -0
- package/external/folly/folly/ExceptionString.h +33 -0
- package/external/folly/folly/ExceptionWrapper-inl.h +264 -0
- package/external/folly/folly/ExceptionWrapper.cpp +37 -0
- package/external/folly/folly/ExceptionWrapper.h +377 -0
- package/external/folly/folly/Executor.cpp +111 -0
- package/external/folly/folly/Executor.h +351 -0
- package/external/folly/folly/Expected.h +1725 -0
- package/external/folly/folly/FBString.h +2888 -0
- package/external/folly/folly/FBVector.h +17 -0
- package/external/folly/folly/File.cpp +180 -0
- package/external/folly/folly/File.h +177 -0
- package/external/folly/folly/FileUtil.cpp +378 -0
- package/external/folly/folly/FileUtil.h +332 -0
- package/external/folly/folly/Fingerprint.cpp +135 -0
- package/external/folly/folly/Fingerprint.h +289 -0
- package/external/folly/folly/FixedString.h +2965 -0
- package/external/folly/folly/FollyMemcpy.cpp +30 -0
- package/external/folly/folly/FollyMemcpy.h +23 -0
- package/external/folly/folly/FollyMemset.cpp +29 -0
- package/external/folly/folly/FollyMemset.h +25 -0
- package/external/folly/folly/Format-inl.h +1152 -0
- package/external/folly/folly/Format.cpp +429 -0
- package/external/folly/folly/Format.h +463 -0
- package/external/folly/folly/FormatArg.h +285 -0
- package/external/folly/folly/FormatTraits.h +65 -0
- package/external/folly/folly/Function.h +1159 -0
- package/external/folly/folly/GLog.h +85 -0
- package/external/folly/folly/GroupVarint.cpp +153 -0
- package/external/folly/folly/GroupVarint.h +630 -0
- package/external/folly/folly/Hash.h +20 -0
- package/external/folly/folly/IPAddress.cpp +490 -0
- package/external/folly/folly/IPAddress.h +667 -0
- package/external/folly/folly/IPAddressException.h +82 -0
- package/external/folly/folly/IPAddressV4.cpp +305 -0
- package/external/folly/folly/IPAddressV4.h +495 -0
- package/external/folly/folly/IPAddressV6.cpp +541 -0
- package/external/folly/folly/IPAddressV6.h +627 -0
- package/external/folly/folly/Indestructible.h +164 -0
- package/external/folly/folly/IndexedMemPool.h +550 -0
- package/external/folly/folly/IntrusiveList.h +17 -0
- package/external/folly/folly/Lazy.h +142 -0
- package/external/folly/folly/Likely.h +76 -0
- package/external/folly/folly/MPMCPipeline.h +280 -0
- package/external/folly/folly/MPMCQueue.h +1556 -0
- package/external/folly/folly/MacAddress.cpp +188 -0
- package/external/folly/folly/MacAddress.h +260 -0
- package/external/folly/folly/MapUtil.h +17 -0
- package/external/folly/folly/Math.h +258 -0
- package/external/folly/folly/MaybeManagedPtr.h +120 -0
- package/external/folly/folly/Memory.h +900 -0
- package/external/folly/folly/MicroLock.cpp +76 -0
- package/external/folly/folly/MicroLock.h +354 -0
- package/external/folly/folly/MicroSpinLock.h +17 -0
- package/external/folly/folly/MoveWrapper.h +76 -0
- package/external/folly/folly/ObserverContainer.h +1026 -0
- package/external/folly/folly/Optional.h +743 -0
- package/external/folly/folly/Overload.h +325 -0
- package/external/folly/folly/PackedSyncPtr.h +147 -0
- package/external/folly/folly/Padded.h +464 -0
- package/external/folly/folly/Poly-inl.h +230 -0
- package/external/folly/folly/Poly.h +1095 -0
- package/external/folly/folly/PolyException.h +43 -0
- package/external/folly/folly/Portability.h +644 -0
- package/external/folly/folly/Preprocessor.h +236 -0
- package/external/folly/folly/ProducerConsumerQueue.h +182 -0
- package/external/folly/folly/RWSpinLock.h +17 -0
- package/external/folly/folly/Random-inl.h +86 -0
- package/external/folly/folly/Random.cpp +184 -0
- package/external/folly/folly/Random.h +434 -0
- package/external/folly/folly/Range.h +1772 -0
- package/external/folly/folly/Replaceable.h +636 -0
- package/external/folly/folly/ScopeGuard.cpp +29 -0
- package/external/folly/folly/ScopeGuard.h +420 -0
- package/external/folly/folly/SharedMutex.cpp +81 -0
- package/external/folly/folly/SharedMutex.h +1751 -0
- package/external/folly/folly/Singleton-inl.h +332 -0
- package/external/folly/folly/Singleton.cpp +512 -0
- package/external/folly/folly/Singleton.h +891 -0
- package/external/folly/folly/SingletonThreadLocal.cpp +53 -0
- package/external/folly/folly/SingletonThreadLocal.h +263 -0
- package/external/folly/folly/SocketAddress.cpp +786 -0
- package/external/folly/folly/SocketAddress.h +768 -0
- package/external/folly/folly/SpinLock.h +55 -0
- package/external/folly/folly/String-inl.h +668 -0
- package/external/folly/folly/String.cpp +777 -0
- package/external/folly/folly/String.h +767 -0
- package/external/folly/folly/Subprocess.cpp +1142 -0
- package/external/folly/folly/Subprocess.h +1055 -0
- package/external/folly/folly/Synchronized.h +1833 -0
- package/external/folly/folly/SynchronizedPtr.h +106 -0
- package/external/folly/folly/ThreadCachedInt.h +175 -0
- package/external/folly/folly/ThreadLocal.h +478 -0
- package/external/folly/folly/TimeoutQueue.cpp +78 -0
- package/external/folly/folly/TimeoutQueue.h +123 -0
- package/external/folly/folly/TokenBucket.h +673 -0
- package/external/folly/folly/Traits.h +1442 -0
- package/external/folly/folly/Try-inl.h +372 -0
- package/external/folly/folly/Try.cpp +23 -0
- package/external/folly/folly/Try.h +728 -0
- package/external/folly/folly/UTF8String.h +56 -0
- package/external/folly/folly/Unicode.cpp +201 -0
- package/external/folly/folly/Unicode.h +94 -0
- package/external/folly/folly/Unit.h +65 -0
- package/external/folly/folly/Uri-inl.h +101 -0
- package/external/folly/folly/Uri.cpp +190 -0
- package/external/folly/folly/Uri.h +142 -0
- package/external/folly/folly/Utility.h +932 -0
- package/external/folly/folly/VERSION +1 -0
- package/external/folly/folly/Varint.h +230 -0
- package/external/folly/folly/VirtualExecutor.h +17 -0
- package/external/folly/folly/algorithm/simd/BUCK +47 -0
- package/external/folly/folly/algorithm/simd/Contains.cpp +42 -0
- package/external/folly/folly/algorithm/simd/Contains.h +116 -0
- package/external/folly/folly/algorithm/simd/FindFixed.h +301 -0
- package/external/folly/folly/algorithm/simd/Ignore.h +52 -0
- package/external/folly/folly/algorithm/simd/Movemask.h +207 -0
- package/external/folly/folly/algorithm/simd/detail/BUCK +70 -0
- package/external/folly/folly/algorithm/simd/detail/ContainsImpl.h +91 -0
- package/external/folly/folly/algorithm/simd/detail/SimdAnyOf.h +83 -0
- package/external/folly/folly/algorithm/simd/detail/SimdForEach.h +209 -0
- package/external/folly/folly/algorithm/simd/detail/SimdPlatform.h +445 -0
- package/external/folly/folly/algorithm/simd/detail/Traits.h +125 -0
- package/external/folly/folly/algorithm/simd/detail/UnrollUtils.h +126 -0
- package/external/folly/folly/base64.h +264 -0
- package/external/folly/folly/chrono/BUCK +29 -0
- package/external/folly/folly/chrono/Clock.h +65 -0
- package/external/folly/folly/chrono/Conv.h +712 -0
- package/external/folly/folly/chrono/test/BUCK +26 -0
- package/external/folly/folly/chrono/test/ClockTest.cpp +68 -0
- package/external/folly/folly/chrono/test/ConvTest.cpp +652 -0
- package/external/folly/folly/concurrency/AtomicSharedPtr.h +387 -0
- package/external/folly/folly/concurrency/BUCK +170 -0
- package/external/folly/folly/concurrency/CacheLocality.h +460 -0
- package/external/folly/folly/concurrency/ConcurrentHashMap.h +822 -0
- package/external/folly/folly/concurrency/CoreCachedSharedPtr.h +232 -0
- package/external/folly/folly/concurrency/DeadlockDetector.cpp +27 -0
- package/external/folly/folly/concurrency/DeadlockDetector.h +44 -0
- package/external/folly/folly/concurrency/DynamicBoundedQueue.h +751 -0
- package/external/folly/folly/concurrency/PriorityUnboundedQueueSet.h +207 -0
- package/external/folly/folly/concurrency/ProcessLocalUniqueId.cpp +46 -0
- package/external/folly/folly/concurrency/ProcessLocalUniqueId.h +38 -0
- package/external/folly/folly/concurrency/SingletonRelaxedCounter.h +325 -0
- package/external/folly/folly/concurrency/ThreadCachedSynchronized.h +227 -0
- package/external/folly/folly/concurrency/UnboundedQueue.h +891 -0
- package/external/folly/folly/concurrency/container/BUCK +77 -0
- package/external/folly/folly/concurrency/container/FlatCombiningPriorityQueue.h +426 -0
- package/external/folly/folly/concurrency/container/LockFreeRingBuffer.h +306 -0
- package/external/folly/folly/concurrency/container/RelaxedConcurrentPriorityQueue.h +1212 -0
- package/external/folly/folly/concurrency/container/SingleWriterFixedHashMap.h +322 -0
- package/external/folly/folly/concurrency/container/atomic_grow_array.h +564 -0
- package/external/folly/folly/concurrency/container/test/BUCK +75 -0
- package/external/folly/folly/concurrency/container/test/FlatCombiningPriorityQueueTest.cpp +570 -0
- package/external/folly/folly/concurrency/container/test/LockFreeRingBufferTest.cpp +276 -0
- package/external/folly/folly/concurrency/container/test/RelaxedConcurrentPriorityQueueTest.cpp +1570 -0
- package/external/folly/folly/concurrency/container/test/SingleWriterFixedHashMapTest.cpp +401 -0
- package/external/folly/folly/concurrency/container/test/atomic_grow_array_test.cpp +187 -0
- package/external/folly/folly/concurrency/detail/AtomicSharedPtr-detail.h +212 -0
- package/external/folly/folly/concurrency/detail/ConcurrentHashMap-detail.h +1911 -0
- package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.cpp +43 -0
- package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.h +190 -0
- package/external/folly/folly/concurrency/memory/BUCK +53 -0
- package/external/folly/folly/concurrency/memory/PrimaryPtr.h +338 -0
- package/external/folly/folly/concurrency/memory/ReadMostlySharedPtr.h +511 -0
- package/external/folly/folly/concurrency/memory/TLRefCount.h +228 -0
- package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrBenchmark.cpp +56 -0
- package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrTest.cpp +454 -0
- package/external/folly/folly/concurrency/memory/test/BUCK +95 -0
- package/external/folly/folly/concurrency/memory/test/PrimaryPtrTest.cpp +303 -0
- package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrBenchmark.cpp +138 -0
- package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrStressTest.cpp +75 -0
- package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrTest.cpp +378 -0
- package/external/folly/folly/concurrency/memory/test/RefCountBenchmark.cpp +90 -0
- package/external/folly/folly/concurrency/memory/test/RefCountTest.cpp +168 -0
- package/external/folly/folly/concurrency/test/AtomicSharedPtrCounted.h +156 -0
- package/external/folly/folly/concurrency/test/AtomicSharedPtrPerformance.cpp +255 -0
- package/external/folly/folly/concurrency/test/AtomicSharedPtrTest.cpp +257 -0
- package/external/folly/folly/concurrency/test/BUCK +229 -0
- package/external/folly/folly/concurrency/test/CacheLocalityBenchmark.cpp +392 -0
- package/external/folly/folly/concurrency/test/CacheLocalityTest.cpp +1229 -0
- package/external/folly/folly/concurrency/test/ConcurrentHashMapBench.cpp +260 -0
- package/external/folly/folly/concurrency/test/ConcurrentHashMapTest.cpp +1242 -0
- package/external/folly/folly/concurrency/test/CoreCachedSharedPtrTest.cpp +408 -0
- package/external/folly/folly/concurrency/test/DynamicBoundedQueueTest.cpp +984 -0
- package/external/folly/folly/concurrency/test/PriorityUnboundedQueueSetTest.cpp +73 -0
- package/external/folly/folly/concurrency/test/ProcessLocalUniqueIdTest.cpp +66 -0
- package/external/folly/folly/concurrency/test/SingletonRelaxedCounterBench.cpp +101 -0
- package/external/folly/folly/concurrency/test/SingletonRelaxedCounterTest.cpp +185 -0
- package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedBench.cpp +76 -0
- package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedTest.cpp +93 -0
- package/external/folly/folly/concurrency/test/UnboundedQueueTest.cpp +1302 -0
- package/external/folly/folly/container/Access.h +57 -0
- package/external/folly/folly/container/Array.h +87 -0
- package/external/folly/folly/container/BUCK +353 -0
- package/external/folly/folly/container/BitIterator.h +203 -0
- package/external/folly/folly/container/Enumerate.h +162 -0
- package/external/folly/folly/container/EvictingCacheMap.h +730 -0
- package/external/folly/folly/container/F14.md +300 -0
- package/external/folly/folly/container/F14Map-fwd.h +113 -0
- package/external/folly/folly/container/F14Map.h +2108 -0
- package/external/folly/folly/container/F14Set-fwd.h +95 -0
- package/external/folly/folly/container/F14Set.h +1603 -0
- package/external/folly/folly/container/FBVector.h +1711 -0
- package/external/folly/folly/container/Foreach-inl.h +316 -0
- package/external/folly/folly/container/Foreach.h +209 -0
- package/external/folly/folly/container/HeterogeneousAccess-fwd.h +33 -0
- package/external/folly/folly/container/HeterogeneousAccess.h +171 -0
- package/external/folly/folly/container/IntrusiveHeap.h +268 -0
- package/external/folly/folly/container/IntrusiveList.h +131 -0
- package/external/folly/folly/container/Iterator.h +843 -0
- package/external/folly/folly/container/MapUtil.h +376 -0
- package/external/folly/folly/container/Merge.h +90 -0
- package/external/folly/folly/container/RegexMatchCache.cpp +521 -0
- package/external/folly/folly/container/RegexMatchCache.h +699 -0
- package/external/folly/folly/container/Reserve.h +109 -0
- package/external/folly/folly/container/SparseByteSet.h +123 -0
- package/external/folly/folly/container/View.h +81 -0
- package/external/folly/folly/container/WeightedEvictingCacheMap.h +651 -0
- package/external/folly/folly/container/detail/BUCK +115 -0
- package/external/folly/folly/container/detail/BitIteratorDetail.h +87 -0
- package/external/folly/folly/container/detail/F14Defaults.h +34 -0
- package/external/folly/folly/container/detail/F14IntrinsicsAvailability.h +67 -0
- package/external/folly/folly/container/detail/F14MapFallback.h +717 -0
- package/external/folly/folly/container/detail/F14Mask.h +235 -0
- package/external/folly/folly/container/detail/F14Policy.h +1523 -0
- package/external/folly/folly/container/detail/F14SetFallback.h +528 -0
- package/external/folly/folly/container/detail/F14Table.cpp +71 -0
- package/external/folly/folly/container/detail/F14Table.h +2680 -0
- package/external/folly/folly/container/detail/Util.h +303 -0
- package/external/folly/folly/container/detail/tape_detail.h +135 -0
- package/external/folly/folly/container/detail/test/BUCK +14 -0
- package/external/folly/folly/container/detail/test/F14DetailTest.cpp +47 -0
- package/external/folly/folly/container/heap_vector_types.h +1683 -0
- package/external/folly/folly/container/range_traits.h +81 -0
- package/external/folly/folly/container/small_vector.h +1476 -0
- package/external/folly/folly/container/sorted_vector_types.h +1652 -0
- package/external/folly/folly/container/span.h +408 -0
- package/external/folly/folly/container/tape.h +608 -0
- package/external/folly/folly/container/test/.clang-tidy +12 -0
- package/external/folly/folly/container/test/AccessTest.cpp +138 -0
- package/external/folly/folly/container/test/ArrayTest.cpp +84 -0
- package/external/folly/folly/container/test/BUCK +568 -0
- package/external/folly/folly/container/test/BitIteratorBench.cpp +112 -0
- package/external/folly/folly/container/test/BitIteratorTest.cpp +109 -0
- package/external/folly/folly/container/test/EnumerateTest.cpp +294 -0
- package/external/folly/folly/container/test/EvictingCacheMapBench.cpp +80 -0
- package/external/folly/folly/container/test/EvictingCacheMapTest.cpp +842 -0
- package/external/folly/folly/container/test/F14AsanSupportTest.cpp +143 -0
- package/external/folly/folly/container/test/F14FwdTest.cpp +37 -0
- package/external/folly/folly/container/test/F14InterprocessTest.cpp +404 -0
- package/external/folly/folly/container/test/F14MapTest.cpp +2543 -0
- package/external/folly/folly/container/test/F14PolicyTest.cpp +49 -0
- package/external/folly/folly/container/test/F14SetTest.cpp +1738 -0
- package/external/folly/folly/container/test/F14SmallOverheads.cpp +215 -0
- package/external/folly/folly/container/test/F14TestUtil.h +117 -0
- package/external/folly/folly/container/test/FBVectorBenchmark.cpp +380 -0
- package/external/folly/folly/container/test/FBVectorBenchmarks.cpp.h +100 -0
- package/external/folly/folly/container/test/FBVectorTest.cpp +326 -0
- package/external/folly/folly/container/test/FBVectorTests.cpp.h +304 -0
- package/external/folly/folly/container/test/ForeachBenchmark.cpp +388 -0
- package/external/folly/folly/container/test/ForeachTest.cpp +338 -0
- package/external/folly/folly/container/test/HashMapsBench.cpp +458 -0
- package/external/folly/folly/container/test/HeterogeneousAccessTest.cpp +242 -0
- package/external/folly/folly/container/test/IntrusiveHeapTest.cpp +262 -0
- package/external/folly/folly/container/test/IteratorTest.cpp +989 -0
- package/external/folly/folly/container/test/MapUtilTest.cpp +365 -0
- package/external/folly/folly/container/test/MergeTest.cpp +66 -0
- package/external/folly/folly/container/test/RegexMatchCacheTest.cpp +634 -0
- package/external/folly/folly/container/test/ReserveTest.cpp +173 -0
- package/external/folly/folly/container/test/SparseByteSetBenchmark.cpp +153 -0
- package/external/folly/folly/container/test/SparseByteSetTest.cpp +117 -0
- package/external/folly/folly/container/test/TrackingTypes.h +584 -0
- package/external/folly/folly/container/test/UtilTest.cpp +609 -0
- package/external/folly/folly/container/test/WeightedEvictingCacheMapTest.cpp +800 -0
- package/external/folly/folly/container/test/heap_vector_types_test.cpp +1774 -0
- package/external/folly/folly/container/test/range_traits_test.cpp +59 -0
- package/external/folly/folly/container/test/small_vector_test.cpp +1571 -0
- package/external/folly/folly/container/test/sorted_vector_test.cpp +1589 -0
- package/external/folly/folly/container/test/span_test.cpp +520 -0
- package/external/folly/folly/container/test/tape_bench.cpp +200 -0
- package/external/folly/folly/container/test/tape_test.cpp +590 -0
- package/external/folly/folly/defs.bzl +238 -0
- package/external/folly/folly/detail/AsyncTrace.cpp +36 -0
- package/external/folly/folly/detail/AsyncTrace.h +44 -0
- package/external/folly/folly/detail/AtomicHashUtils.h +42 -0
- package/external/folly/folly/detail/AtomicUnorderedMapUtils.h +80 -0
- package/external/folly/folly/detail/BUCK +406 -0
- package/external/folly/folly/detail/DiscriminatedPtrDetail.h +172 -0
- package/external/folly/folly/detail/FileUtilDetail.cpp +63 -0
- package/external/folly/folly/detail/FileUtilDetail.h +85 -0
- package/external/folly/folly/detail/FileUtilVectorDetail.h +81 -0
- package/external/folly/folly/detail/FingerprintPolynomial.h +132 -0
- package/external/folly/folly/detail/Futex-inl.h +123 -0
- package/external/folly/folly/detail/Futex.cpp +273 -0
- package/external/folly/folly/detail/Futex.h +109 -0
- package/external/folly/folly/detail/GroupVarintDetail.h +101 -0
- package/external/folly/folly/detail/IPAddress.cpp +37 -0
- package/external/folly/folly/detail/IPAddress.h +57 -0
- package/external/folly/folly/detail/IPAddressSource.h +278 -0
- package/external/folly/folly/detail/Iterators.h +156 -0
- package/external/folly/folly/detail/MPMCPipelineDetail.h +122 -0
- package/external/folly/folly/detail/MemoryIdler.cpp +233 -0
- package/external/folly/folly/detail/MemoryIdler.h +216 -0
- package/external/folly/folly/detail/PerfScoped.cpp +112 -0
- package/external/folly/folly/detail/PerfScoped.h +70 -0
- package/external/folly/folly/detail/PolyDetail.h +921 -0
- package/external/folly/folly/detail/RangeCommon.cpp +55 -0
- package/external/folly/folly/detail/RangeCommon.h +93 -0
- package/external/folly/folly/detail/RangeSse42.cpp +198 -0
- package/external/folly/folly/detail/RangeSse42.h +30 -0
- package/external/folly/folly/detail/SimpleSimdStringUtils.cpp +31 -0
- package/external/folly/folly/detail/SimpleSimdStringUtils.h +27 -0
- package/external/folly/folly/detail/SimpleSimdStringUtilsImpl.h +63 -0
- package/external/folly/folly/detail/Singleton.h +34 -0
- package/external/folly/folly/detail/SlowFingerprint.h +90 -0
- package/external/folly/folly/detail/SocketFastOpen.cpp +175 -0
- package/external/folly/folly/detail/SocketFastOpen.h +89 -0
- package/external/folly/folly/detail/SplitStringSimd.cpp +84 -0
- package/external/folly/folly/detail/SplitStringSimd.h +151 -0
- package/external/folly/folly/detail/SplitStringSimdImpl.h +149 -0
- package/external/folly/folly/detail/Sse.cpp +35 -0
- package/external/folly/folly/detail/Sse.h +45 -0
- package/external/folly/folly/detail/StaticSingletonManager.cpp +119 -0
- package/external/folly/folly/detail/StaticSingletonManager.h +298 -0
- package/external/folly/folly/detail/ThreadLocalDetail.cpp +492 -0
- package/external/folly/folly/detail/ThreadLocalDetail.h +800 -0
- package/external/folly/folly/detail/TrapOnAvx512.cpp +41 -0
- package/external/folly/folly/detail/TrapOnAvx512.h +21 -0
- package/external/folly/folly/detail/TurnSequencer.h +295 -0
- package/external/folly/folly/detail/TypeList.h +551 -0
- package/external/folly/folly/detail/UniqueInstance.cpp +136 -0
- package/external/folly/folly/detail/UniqueInstance.h +68 -0
- package/external/folly/folly/detail/base64_detail/BUCK +102 -0
- package/external/folly/folly/detail/base64_detail/Base64Api.cpp +40 -0
- package/external/folly/folly/detail/base64_detail/Base64Api.h +101 -0
- package/external/folly/folly/detail/base64_detail/Base64Common.h +80 -0
- package/external/folly/folly/detail/base64_detail/Base64Constants.h +79 -0
- package/external/folly/folly/detail/base64_detail/Base64HiddenConstants.h +129 -0
- package/external/folly/folly/detail/base64_detail/Base64SWAR.cpp +161 -0
- package/external/folly/folly/detail/base64_detail/Base64SWAR.h +32 -0
- package/external/folly/folly/detail/base64_detail/Base64Scalar.h +262 -0
- package/external/folly/folly/detail/base64_detail/Base64Simd.h +102 -0
- package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.cpp +42 -0
- package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.h +33 -0
- package/external/folly/folly/detail/base64_detail/Base64_SSE4_2_Platform.h +167 -0
- package/external/folly/folly/detail/base64_detail/README.md +392 -0
- package/external/folly/folly/detail/base64_detail/tests/BUCK +36 -0
- package/external/folly/folly/detail/base64_detail/tests/Base64AgainstScalarTest.cpp +141 -0
- package/external/folly/folly/detail/base64_detail/tests/Base64PlatformTest.cpp +273 -0
- package/external/folly/folly/detail/base64_detail/tests/Base64SpecialCasesTest.cpp +555 -0
- package/external/folly/folly/detail/test/AsyncTraceTest.cpp +43 -0
- package/external/folly/folly/detail/test/BUCK +118 -0
- package/external/folly/folly/detail/test/FileUtilDetailTest.cpp +56 -0
- package/external/folly/folly/detail/test/PerfScopedTest.cpp +107 -0
- package/external/folly/folly/detail/test/SimpleSimdStringUtilsTest.cpp +92 -0
- package/external/folly/folly/detail/test/SplitStringSimdTest.cpp +242 -0
- package/external/folly/folly/detail/test/StaticSingletonManagerTest.cpp +121 -0
- package/external/folly/folly/detail/test/ThreadLocalBenchmark.cpp +116 -0
- package/external/folly/folly/detail/test/ThreadLocalDetailTest.cpp +194 -0
- package/external/folly/folly/detail/test/TrapOnAvx512TestNegative.cpp +29 -0
- package/external/folly/folly/detail/test/UniqueInstanceTest.cpp +60 -0
- package/external/folly/folly/detail/thread_local_globals.cpp +69 -0
- package/external/folly/folly/detail/thread_local_globals.h +36 -0
- package/external/folly/folly/docs/AtomicHashMap.md +134 -0
- package/external/folly/folly/docs/Benchmark.md +310 -0
- package/external/folly/folly/docs/Conv.md +291 -0
- package/external/folly/folly/docs/Dynamic.md +220 -0
- package/external/folly/folly/docs/DynamicConverter.md +71 -0
- package/external/folly/folly/docs/Executors.md +63 -0
- package/external/folly/folly/docs/FBString.md +46 -0
- package/external/folly/folly/docs/FBVector.md +200 -0
- package/external/folly/folly/docs/Fbvector--graphical_solutions.png +0 -0
- package/external/folly/folly/docs/Format.md +177 -0
- package/external/folly/folly/docs/Function.md +92 -0
- package/external/folly/folly/docs/Futures.md +263 -0
- package/external/folly/folly/docs/GroupVarint.md +46 -0
- package/external/folly/folly/docs/Histogram.md +104 -0
- package/external/folly/folly/docs/MapUtils.md +80 -0
- package/external/folly/folly/docs/Overview.md +263 -0
- package/external/folly/folly/docs/PackedSyncPtr.md +77 -0
- package/external/folly/folly/docs/Poly.md +500 -0
- package/external/folly/folly/docs/ProducerConsumerQueue.md +82 -0
- package/external/folly/folly/docs/Rcu.md +218 -0
- package/external/folly/folly/docs/SmallLocks.md +24 -0
- package/external/folly/folly/docs/Synchronized.md +793 -0
- package/external/folly/folly/docs/ThreadCachedInt.md +98 -0
- package/external/folly/folly/docs/ThreadLocal.md +105 -0
- package/external/folly/folly/docs/Traits.md +161 -0
- package/external/folly/folly/docs/small_vector.md +64 -0
- package/external/folly/folly/docs/style.css +23 -0
- package/external/folly/folly/dynamic-inl.h +17 -0
- package/external/folly/folly/dynamic.h +17 -0
- package/external/folly/folly/folly_extended_library.bzl +28 -0
- package/external/folly/folly/functional/ApplyTuple.h +204 -0
- package/external/folly/folly/functional/BUCK +57 -0
- package/external/folly/folly/functional/Invoke.h +880 -0
- package/external/folly/folly/functional/Partial.h +130 -0
- package/external/folly/folly/functional/protocol.h +203 -0
- package/external/folly/folly/functional/test/ApplyTupleTest.cpp +549 -0
- package/external/folly/folly/functional/test/BUCK +57 -0
- package/external/folly/folly/functional/test/InvokeTest.cpp +483 -0
- package/external/folly/folly/functional/test/PartialTest.cpp +141 -0
- package/external/folly/folly/functional/test/protocol_test.cpp +177 -0
- package/external/folly/folly/functional/test/traits_test.cpp +551 -0
- package/external/folly/folly/functional/traits.h +675 -0
- package/external/folly/folly/hash/BUCK +86 -0
- package/external/folly/folly/hash/Checksum.cpp +275 -0
- package/external/folly/folly/hash/Checksum.h +94 -0
- package/external/folly/folly/hash/FarmHash.h +46 -0
- package/external/folly/folly/hash/Hash.h +1045 -0
- package/external/folly/folly/hash/MurmurHash.h +86 -0
- package/external/folly/folly/hash/SpookyHashV1.cpp +391 -0
- package/external/folly/folly/hash/SpookyHashV1.h +307 -0
- package/external/folly/folly/hash/SpookyHashV2.cpp +392 -0
- package/external/folly/folly/hash/SpookyHashV2.h +339 -0
- package/external/folly/folly/hash/detail/BUCK +26 -0
- package/external/folly/folly/hash/detail/ChecksumDetail.cpp +296 -0
- package/external/folly/folly/hash/detail/ChecksumDetail.h +137 -0
- package/external/folly/folly/hash/detail/Crc32CombineDetail.cpp +191 -0
- package/external/folly/folly/hash/detail/Crc32cDetail.cpp +303 -0
- package/external/folly/folly/hash/test/BUCK +132 -0
- package/external/folly/folly/hash/test/ChecksumBenchmark.cpp +91 -0
- package/external/folly/folly/hash/test/ChecksumTest.cpp +587 -0
- package/external/folly/folly/hash/test/FarmHashTest.cpp +41 -0
- package/external/folly/folly/hash/test/HashBenchmark.cpp +238 -0
- package/external/folly/folly/hash/test/HashTest.cpp +997 -0
- package/external/folly/folly/hash/test/MurmurHashTest.cpp +76 -0
- package/external/folly/folly/hash/test/SpookyHashV1Test.cpp +559 -0
- package/external/folly/folly/hash/test/SpookyHashV2Test.cpp +549 -0
- package/external/folly/folly/hash/test/traits_test.cpp +69 -0
- package/external/folly/folly/hash/traits.h +115 -0
- package/external/folly/folly/json/BUCK +155 -0
- package/external/folly/folly/json/DynamicConverter.h +464 -0
- package/external/folly/folly/json/DynamicParser-inl.h +316 -0
- package/external/folly/folly/json/DynamicParser.cpp +198 -0
- package/external/folly/folly/json/DynamicParser.h +394 -0
- package/external/folly/folly/json/JSONSchema.cpp +1030 -0
- package/external/folly/folly/json/JSONSchema.h +73 -0
- package/external/folly/folly/json/JsonMockUtil.h +73 -0
- package/external/folly/folly/json/JsonTestUtil.cpp +167 -0
- package/external/folly/folly/json/JsonTestUtil.h +88 -0
- package/external/folly/folly/json/bser/BUCK +24 -0
- package/external/folly/folly/json/bser/Bser.h +107 -0
- package/external/folly/folly/json/bser/Dump.cpp +253 -0
- package/external/folly/folly/json/bser/Load.cpp +246 -0
- package/external/folly/folly/json/bser/test/BUCK +14 -0
- package/external/folly/folly/json/bser/test/BserTest.cpp +149 -0
- package/external/folly/folly/json/dynamic.cpp +552 -0
- package/external/folly/folly/json/dynamic.h +1346 -0
- package/external/folly/folly/json/json.h +238 -0
- package/external/folly/folly/json/json_patch.cpp +325 -0
- package/external/folly/folly/json/json_patch.h +126 -0
- package/external/folly/folly/json/json_pointer.cpp +114 -0
- package/external/folly/folly/json/json_pointer.h +87 -0
- package/external/folly/folly/json/test/BUCK +147 -0
- package/external/folly/folly/json/test/DynamicBenchmark.cpp +146 -0
- package/external/folly/folly/json/test/DynamicConverterTest.cpp +518 -0
- package/external/folly/folly/json/test/DynamicOtherTest.cpp +344 -0
- package/external/folly/folly/json/test/DynamicParserTest.cpp +443 -0
- package/external/folly/folly/json/test/DynamicTest.cpp +1647 -0
- package/external/folly/folly/json/test/JSONSchemaTest.cpp +450 -0
- package/external/folly/folly/json/test/JsonBenchmark.cpp +264 -0
- package/external/folly/folly/json/test/JsonOtherTest.cpp +51 -0
- package/external/folly/folly/json/test/JsonTest.cpp +1153 -0
- package/external/folly/folly/json/test/JsonTestUtilTest.cpp +97 -0
- package/external/folly/folly/json/test/json_patch_test.cpp +361 -0
- package/external/folly/folly/json/test/json_pointer_test.cpp +58 -0
- package/external/folly/folly/json/tool/BUCK +13 -0
- package/external/folly/folly/json/tool/JSONSchemaTester.cpp +58 -0
- package/external/folly/folly/json.h +17 -0
- package/external/folly/folly/json_patch.h +17 -0
- package/external/folly/folly/json_pointer.h +17 -0
- package/external/folly/folly/lang/Access.h +29 -0
- package/external/folly/folly/lang/Align.h +240 -0
- package/external/folly/folly/lang/Aligned.h +92 -0
- package/external/folly/folly/lang/Assume.h +82 -0
- package/external/folly/folly/lang/BUCK +287 -0
- package/external/folly/folly/lang/Badge.h +108 -0
- package/external/folly/folly/lang/Bits.h +570 -0
- package/external/folly/folly/lang/BitsClass.h +312 -0
- package/external/folly/folly/lang/Builtin.h +74 -0
- package/external/folly/folly/lang/CArray.h +34 -0
- package/external/folly/folly/lang/CString.cpp +86 -0
- package/external/folly/folly/lang/CString.h +55 -0
- package/external/folly/folly/lang/Cast.h +51 -0
- package/external/folly/folly/lang/CheckedMath.h +253 -0
- package/external/folly/folly/lang/CustomizationPoint.h +58 -0
- package/external/folly/folly/lang/Exception.cpp +822 -0
- package/external/folly/folly/lang/Exception.h +716 -0
- package/external/folly/folly/lang/Extern.h +55 -0
- package/external/folly/folly/lang/Hint-inl.h +144 -0
- package/external/folly/folly/lang/Hint.h +238 -0
- package/external/folly/folly/lang/Keep.h +98 -0
- package/external/folly/folly/lang/New.h +124 -0
- package/external/folly/folly/lang/Ordering.h +140 -0
- package/external/folly/folly/lang/Pretty.h +159 -0
- package/external/folly/folly/lang/PropagateConst.h +413 -0
- package/external/folly/folly/lang/RValueReferenceWrapper.h +152 -0
- package/external/folly/folly/lang/SafeAssert.cpp +589 -0
- package/external/folly/folly/lang/StaticConst.h +33 -0
- package/external/folly/folly/lang/Thunk.h +100 -0
- package/external/folly/folly/lang/TypeInfo.h +58 -0
- package/external/folly/folly/lang/UncaughtExceptions.cpp +17 -0
- package/external/folly/folly/lang/UncaughtExceptions.h +19 -0
- package/external/folly/folly/lang/test/AlignTest.cpp +87 -0
- package/external/folly/folly/lang/test/AlignedTest.cpp +130 -0
- package/external/folly/folly/lang/test/BUCK +258 -0
- package/external/folly/folly/lang/test/BadgeTest.cpp +89 -0
- package/external/folly/folly/lang/test/BitsBenchmark.cpp +164 -0
- package/external/folly/folly/lang/test/BitsClassBenchmark.cpp +122 -0
- package/external/folly/folly/lang/test/BitsClassTest.cpp +379 -0
- package/external/folly/folly/lang/test/BitsTest.cpp +577 -0
- package/external/folly/folly/lang/test/CStringTest.cpp +60 -0
- package/external/folly/folly/lang/test/CastTest.cpp +47 -0
- package/external/folly/folly/lang/test/CheckedMathTest.cpp +394 -0
- package/external/folly/folly/lang/test/ExceptionBench.cpp +427 -0
- package/external/folly/folly/lang/test/ExceptionTest.cpp +413 -0
- package/external/folly/folly/lang/test/ExternTest.cpp +39 -0
- package/external/folly/folly/lang/test/HintTest.cpp +100 -0
- package/external/folly/folly/lang/test/NewTest.cpp +38 -0
- package/external/folly/folly/lang/test/OrderingTest.cpp +105 -0
- package/external/folly/folly/lang/test/PrettyTest.cpp +44 -0
- package/external/folly/folly/lang/test/PropagateConstTest.cpp +356 -0
- package/external/folly/folly/lang/test/RValueReferenceWrapperTest.cpp +85 -0
- package/external/folly/folly/lang/test/SafeAssertTest.cpp +75 -0
- package/external/folly/folly/lang/test/ThunkTest.cpp +105 -0
- package/external/folly/folly/lang/test/ToAsciiBench.cpp +466 -0
- package/external/folly/folly/lang/test/ToAsciiTest.cpp +266 -0
- package/external/folly/folly/lang/test/TypeInfoTest.cpp +56 -0
- package/external/folly/folly/memcpy.S +292 -0
- package/external/folly/folly/memcpy_select_aarch64.cpp +145 -0
- package/external/folly/folly/memory/Arena-inl.h +83 -0
- package/external/folly/folly/memory/Arena.h +325 -0
- package/external/folly/folly/memory/BUCK +191 -0
- package/external/folly/folly/memory/JemallocHugePageAllocator.cpp +449 -0
- package/external/folly/folly/memory/JemallocHugePageAllocator.h +105 -0
- package/external/folly/folly/memory/JemallocHugePageAllocatorTest.cpp +341 -0
- package/external/folly/folly/memory/JemallocNodumpAllocator.cpp +176 -0
- package/external/folly/folly/memory/JemallocNodumpAllocator.h +119 -0
- package/external/folly/folly/memory/JemallocNodumpAllocatorTest.cpp +61 -0
- package/external/folly/folly/memory/MallctlHelper.cpp +37 -0
- package/external/folly/folly/memory/MallctlHelper.h +167 -0
- package/external/folly/folly/memory/Malloc.h +551 -0
- package/external/folly/folly/memory/MemoryResource.h +57 -0
- package/external/folly/folly/memory/ReentrantAllocator.cpp +162 -0
- package/external/folly/folly/memory/ReentrantAllocator.h +261 -0
- package/external/folly/folly/memory/SanitizeAddress.cpp +75 -0
- package/external/folly/folly/memory/SanitizeAddress.h +117 -0
- package/external/folly/folly/memory/SanitizeLeak.cpp +119 -0
- package/external/folly/folly/memory/SanitizeLeak.h +108 -0
- package/external/folly/folly/memory/ThreadCachedArena.cpp +53 -0
- package/external/folly/folly/memory/ThreadCachedArena.h +90 -0
- package/external/folly/folly/memory/UninitializedMemoryHacks.h +426 -0
- package/external/folly/folly/memory/detail/BUCK +10 -0
- package/external/folly/folly/memory/detail/MallocImpl.cpp +52 -0
- package/external/folly/folly/memory/detail/MallocImpl.h +97 -0
- package/external/folly/folly/memory/not_null-inl.h +522 -0
- package/external/folly/folly/memory/not_null.h +449 -0
- package/external/folly/folly/memory/test/ArenaTest.cpp +354 -0
- package/external/folly/folly/memory/test/BUCK +146 -0
- package/external/folly/folly/memory/test/MallctlHelperTest.cpp +169 -0
- package/external/folly/folly/memory/test/MallocBenchmark.cpp +91 -0
- package/external/folly/folly/memory/test/MallocTest.cpp +78 -0
- package/external/folly/folly/memory/test/MemoryResourceTest.cpp +31 -0
- package/external/folly/folly/memory/test/ReentrantAllocatorTest.cpp +144 -0
- package/external/folly/folly/memory/test/SanitizeAddressTest.cpp +67 -0
- package/external/folly/folly/memory/test/SanitizeLeakTest.cpp +139 -0
- package/external/folly/folly/memory/test/ThreadCachedArenaTest.cpp +276 -0
- package/external/folly/folly/memory/test/UninitializedMemoryHacksODR.cpp +21 -0
- package/external/folly/folly/memory/test/UninitializedMemoryHacksTest.cpp +327 -0
- package/external/folly/folly/memory/test/not_null_test.cpp +608 -0
- package/external/folly/folly/memset.S +245 -0
- package/external/folly/folly/memset_select_aarch64.cpp +72 -0
- package/external/folly/folly/portability/Asm.h +50 -0
- package/external/folly/folly/portability/Atomic.h +31 -0
- package/external/folly/folly/portability/BUCK +456 -0
- package/external/folly/folly/portability/Builtins.cpp +31 -0
- package/external/folly/folly/portability/Builtins.h +161 -0
- package/external/folly/folly/portability/Config.h +43 -0
- package/external/folly/folly/portability/Constexpr.h +145 -0
- package/external/folly/folly/portability/Dirent.cpp +140 -0
- package/external/folly/folly/portability/Dirent.h +41 -0
- package/external/folly/folly/portability/Event.h +44 -0
- package/external/folly/folly/portability/Fcntl.cpp +120 -0
- package/external/folly/folly/portability/Fcntl.h +67 -0
- package/external/folly/folly/portability/Filesystem.cpp +67 -0
- package/external/folly/folly/portability/Filesystem.h +114 -0
- package/external/folly/folly/portability/FmtCompile.h +40 -0
- package/external/folly/folly/portability/GFlags.h +139 -0
- package/external/folly/folly/portability/GMock.h +35 -0
- package/external/folly/folly/portability/GTest.h +35 -0
- package/external/folly/folly/portability/IOVec.h +34 -0
- package/external/folly/folly/portability/Libgen.cpp +59 -0
- package/external/folly/folly/portability/Libgen.h +29 -0
- package/external/folly/folly/portability/Libunwind.h +21 -0
- package/external/folly/folly/portability/Malloc.cpp +31 -0
- package/external/folly/folly/portability/Malloc.h +53 -0
- package/external/folly/folly/portability/Math.h +90 -0
- package/external/folly/folly/portability/Memory.h +26 -0
- package/external/folly/folly/portability/OpenSSL.cpp +17 -0
- package/external/folly/folly/portability/OpenSSL.h +102 -0
- package/external/folly/folly/portability/PThread.cpp +697 -0
- package/external/folly/folly/portability/PThread.h +148 -0
- package/external/folly/folly/portability/README.md +21 -0
- package/external/folly/folly/portability/Sched.cpp +41 -0
- package/external/folly/folly/portability/Sched.h +45 -0
- package/external/folly/folly/portability/Sockets.cpp +245 -0
- package/external/folly/folly/portability/Sockets.h +155 -0
- package/external/folly/folly/portability/SourceLocation.h +49 -0
- package/external/folly/folly/portability/Stdio.cpp +77 -0
- package/external/folly/folly/portability/Stdio.h +32 -0
- package/external/folly/folly/portability/Stdlib.cpp +172 -0
- package/external/folly/folly/portability/Stdlib.h +64 -0
- package/external/folly/folly/portability/String.cpp +53 -0
- package/external/folly/folly/portability/String.h +39 -0
- package/external/folly/folly/portability/SysFile.cpp +46 -0
- package/external/folly/folly/portability/SysFile.h +27 -0
- package/external/folly/folly/portability/SysMembarrier.cpp +104 -0
- package/external/folly/folly/portability/SysMembarrier.h +26 -0
- package/external/folly/folly/portability/SysMman.cpp +242 -0
- package/external/folly/folly/portability/SysMman.h +68 -0
- package/external/folly/folly/portability/SysResource.cpp +108 -0
- package/external/folly/folly/portability/SysResource.h +71 -0
- package/external/folly/folly/portability/SysStat.cpp +66 -0
- package/external/folly/folly/portability/SysStat.h +52 -0
- package/external/folly/folly/portability/SysSyscall.h +73 -0
- package/external/folly/folly/portability/SysTime.cpp +62 -0
- package/external/folly/folly/portability/SysTime.h +50 -0
- package/external/folly/folly/portability/SysTypes.h +44 -0
- package/external/folly/folly/portability/SysUio.cpp +179 -0
- package/external/folly/folly/portability/SysUio.h +51 -0
- package/external/folly/folly/portability/Syslog.h +39 -0
- package/external/folly/folly/portability/Time.cpp +357 -0
- package/external/folly/folly/portability/Time.h +74 -0
- package/external/folly/folly/portability/Unistd.h +111 -0
- package/external/folly/folly/portability/Windows.h +108 -0
- package/external/folly/folly/portability/openat2.c +30 -0
- package/external/folly/folly/portability/openat2.h +39 -0
- package/external/folly/folly/portability/test/BUCK +59 -0
- package/external/folly/folly/portability/test/ConstexprTest.cpp +102 -0
- package/external/folly/folly/portability/test/FilesystemTest.cpp +35 -0
- package/external/folly/folly/portability/test/LibgenTest.cpp +35 -0
- package/external/folly/folly/portability/test/OpenSSLPortabilityTest.cpp +108 -0
- package/external/folly/folly/portability/test/PThreadTest.cpp +80 -0
- package/external/folly/folly/portability/test/TimeTest.cpp +90 -0
- package/external/folly/folly/small_vector.h +17 -0
- package/external/folly/folly/somerge_defs.bzl +399 -0
- package/external/folly/folly/sorted_vector_types.h +17 -0
- package/external/folly/folly/stop_watch.h +317 -0
- package/external/folly/folly/synchronization/AsymmetricThreadFence.cpp +91 -0
- package/external/folly/folly/synchronization/AsymmetricThreadFence.h +60 -0
- package/external/folly/folly/synchronization/AtomicNotification-inl.h +146 -0
- package/external/folly/folly/synchronization/AtomicNotification.cpp +34 -0
- package/external/folly/folly/synchronization/AtomicNotification.h +117 -0
- package/external/folly/folly/synchronization/AtomicRef.h +181 -0
- package/external/folly/folly/synchronization/AtomicStruct.h +150 -0
- package/external/folly/folly/synchronization/AtomicUtil-inl.h +482 -0
- package/external/folly/folly/synchronization/AtomicUtil.h +179 -0
- package/external/folly/folly/synchronization/BUCK +418 -0
- package/external/folly/folly/synchronization/Baton.h +419 -0
- package/external/folly/folly/synchronization/CallOnce.h +263 -0
- package/external/folly/folly/synchronization/DelayedInit.h +179 -0
- package/external/folly/folly/synchronization/DistributedMutex-inl.h +1744 -0
- package/external/folly/folly/synchronization/DistributedMutex.cpp +27 -0
- package/external/folly/folly/synchronization/DistributedMutex.h +342 -0
- package/external/folly/folly/synchronization/EventCount.h +200 -0
- package/external/folly/folly/synchronization/FlatCombining.h +629 -0
- package/external/folly/folly/synchronization/Hazptr-fwd.h +217 -0
- package/external/folly/folly/synchronization/Hazptr.cpp +36 -0
- package/external/folly/folly/synchronization/Hazptr.h +209 -0
- package/external/folly/folly/synchronization/HazptrDomain.cpp +68 -0
- package/external/folly/folly/synchronization/HazptrDomain.h +832 -0
- package/external/folly/folly/synchronization/HazptrHolder.h +431 -0
- package/external/folly/folly/synchronization/HazptrObj.h +533 -0
- package/external/folly/folly/synchronization/HazptrObjLinked.h +315 -0
- package/external/folly/folly/synchronization/HazptrRec.h +68 -0
- package/external/folly/folly/synchronization/HazptrThrLocal.h +180 -0
- package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.cpp +46 -0
- package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.h +25 -0
- package/external/folly/folly/synchronization/Latch.h +160 -0
- package/external/folly/folly/synchronization/LifoSem.h +767 -0
- package/external/folly/folly/synchronization/Lock.h +887 -0
- package/external/folly/folly/synchronization/MicroSpinLock.h +154 -0
- package/external/folly/folly/synchronization/NativeSemaphore.h +187 -0
- package/external/folly/folly/synchronization/ParkingLot.cpp +37 -0
- package/external/folly/folly/synchronization/ParkingLot.h +330 -0
- package/external/folly/folly/synchronization/PicoSpinLock.h +167 -0
- package/external/folly/folly/synchronization/RWSpinLock.h +549 -0
- package/external/folly/folly/synchronization/Rcu.cpp +26 -0
- package/external/folly/folly/synchronization/Rcu.h +553 -0
- package/external/folly/folly/synchronization/RelaxedAtomic.h +336 -0
- package/external/folly/folly/synchronization/SanitizeThread.cpp +141 -0
- package/external/folly/folly/synchronization/SanitizeThread.h +166 -0
- package/external/folly/folly/synchronization/SaturatingSemaphore.h +324 -0
- package/external/folly/folly/synchronization/SmallLocks.h +36 -0
- package/external/folly/folly/synchronization/ThrottledLifoSem.h +362 -0
- package/external/folly/folly/synchronization/WaitOptions.cpp +25 -0
- package/external/folly/folly/synchronization/WaitOptions.h +75 -0
- package/external/folly/folly/synchronization/detail/AtomicUtils.h +59 -0
- package/external/folly/folly/synchronization/detail/BUCK +104 -0
- package/external/folly/folly/synchronization/detail/Hardware.cpp +192 -0
- package/external/folly/folly/synchronization/detail/Hardware.h +75 -0
- package/external/folly/folly/synchronization/detail/HazptrUtils.h +339 -0
- package/external/folly/folly/synchronization/detail/InlineFunctionRef.h +229 -0
- package/external/folly/folly/synchronization/detail/Sleeper.cpp +27 -0
- package/external/folly/folly/synchronization/detail/Sleeper.h +62 -0
- package/external/folly/folly/synchronization/detail/Spin.h +96 -0
- package/external/folly/folly/synchronization/detail/ThreadCachedLists.h +174 -0
- package/external/folly/folly/synchronization/detail/ThreadCachedReaders.h +189 -0
- package/external/folly/folly/synchronization/detail/ThreadCachedTag.h +26 -0
- package/external/folly/folly/synchronization/detail/test/BUCK +28 -0
- package/external/folly/folly/synchronization/detail/test/HardwareTest.cpp +74 -0
- package/external/folly/folly/synchronization/detail/test/InlineFunctionRefTest.cpp +286 -0
- package/external/folly/folly/synchronization/example/BUCK +27 -0
- package/external/folly/folly/synchronization/example/HazptrLockFreeLIFO.h +88 -0
- package/external/folly/folly/synchronization/example/HazptrSWMRSet.h +133 -0
- package/external/folly/folly/synchronization/example/HazptrWideCAS.h +62 -0
- package/external/folly/folly/synchronization/test/AtomicNotificationTest.cpp +236 -0
- package/external/folly/folly/synchronization/test/AtomicRefTest.cpp +170 -0
- package/external/folly/folly/synchronization/test/AtomicStructTest.cpp +65 -0
- package/external/folly/folly/synchronization/test/AtomicUtilBench.cpp +457 -0
- package/external/folly/folly/synchronization/test/AtomicUtilTest.cpp +650 -0
- package/external/folly/folly/synchronization/test/BUCK +495 -0
- package/external/folly/folly/synchronization/test/Barrier.h +52 -0
- package/external/folly/folly/synchronization/test/BarrierTest.cpp +56 -0
- package/external/folly/folly/synchronization/test/BatonBenchmark.cpp +77 -0
- package/external/folly/folly/synchronization/test/BatonTest.cpp +164 -0
- package/external/folly/folly/synchronization/test/BatonTestHelpers.h +118 -0
- package/external/folly/folly/synchronization/test/CallOnceBenchmark.cpp +72 -0
- package/external/folly/folly/synchronization/test/CallOnceTest.cpp +153 -0
- package/external/folly/folly/synchronization/test/DelayedInitTest.cpp +281 -0
- package/external/folly/folly/synchronization/test/DistributedMutexTest.cpp +2074 -0
- package/external/folly/folly/synchronization/test/EventCountTest.cpp +124 -0
- package/external/folly/folly/synchronization/test/FlatCombiningBenchmark.cpp +1789 -0
- package/external/folly/folly/synchronization/test/FlatCombiningExamples.h +222 -0
- package/external/folly/folly/synchronization/test/FlatCombiningTest.cpp +121 -0
- package/external/folly/folly/synchronization/test/FlatCombiningTestHelpers.h +227 -0
- package/external/folly/folly/synchronization/test/HazptrTest.cpp +1689 -0
- package/external/folly/folly/synchronization/test/LatchTest.cpp +224 -0
- package/external/folly/folly/synchronization/test/LifoSemBench.cpp +185 -0
- package/external/folly/folly/synchronization/test/LifoSemTests.cpp +353 -0
- package/external/folly/folly/synchronization/test/LockTest.cpp +1239 -0
- package/external/folly/folly/synchronization/test/NativeSemaphoreTest.cpp +37 -0
- package/external/folly/folly/synchronization/test/ParkingLotBenchmark.cpp +239 -0
- package/external/folly/folly/synchronization/test/ParkingLotTest.cpp +170 -0
- package/external/folly/folly/synchronization/test/RWSpinLockTest.cpp +235 -0
- package/external/folly/folly/synchronization/test/RcuBench.cpp +66 -0
- package/external/folly/folly/synchronization/test/RcuTest.cpp +330 -0
- package/external/folly/folly/synchronization/test/RelaxedAtomicTest.cpp +389 -0
- package/external/folly/folly/synchronization/test/SaturatingSemaphoreTest.cpp +166 -0
- package/external/folly/folly/synchronization/test/Semaphore.h +242 -0
- package/external/folly/folly/synchronization/test/SemaphoreTest.cpp +271 -0
- package/external/folly/folly/synchronization/test/SmallLocksBenchmark.cpp +1296 -0
- package/external/folly/folly/synchronization/test/SmallLocksTest.cpp +510 -0
- package/external/folly/folly/synchronization/test/ThreadCachedEpochBench.h +67 -0
- package/external/folly/folly/synchronization/test/ThreadCachedReadersBench.cpp +42 -0
- package/external/folly/folly/synchronization/test/ThreadCachedReadersTest.cpp +52 -0
- package/external/folly/folly/synchronization/test/ThrottledLifoSemTest.cpp +243 -0
- package/external/folly/folly/system/AtFork.cpp +205 -0
- package/external/folly/folly/system/AtFork.h +116 -0
- package/external/folly/folly/system/AuxVector.h +198 -0
- package/external/folly/folly/system/BUCK +144 -0
- package/external/folly/folly/system/EnvUtil.cpp +93 -0
- package/external/folly/folly/system/EnvUtil.h +113 -0
- package/external/folly/folly/system/HardwareConcurrency.cpp +39 -0
- package/external/folly/folly/system/HardwareConcurrency.h +23 -0
- package/external/folly/folly/system/MemoryMapping.cpp +477 -0
- package/external/folly/folly/system/MemoryMapping.h +287 -0
- package/external/folly/folly/system/Pid.cpp +87 -0
- package/external/folly/folly/system/Pid.h +34 -0
- package/external/folly/folly/system/Shell.cpp +33 -0
- package/external/folly/folly/system/Shell.h +93 -0
- package/external/folly/folly/system/ThreadId.cpp +89 -0
- package/external/folly/folly/system/ThreadId.h +62 -0
- package/external/folly/folly/system/ThreadName.cpp +330 -0
- package/external/folly/folly/system/ThreadName.h +72 -0
- package/external/folly/folly/system/test/AtForkTest.cpp +309 -0
- package/external/folly/folly/system/test/AuxVectorTest.cpp +55 -0
- package/external/folly/folly/system/test/BUCK +120 -0
- package/external/folly/folly/system/test/EnvUtilSubprocess.cpp +26 -0
- package/external/folly/folly/system/test/EnvUtilTest.cpp +197 -0
- package/external/folly/folly/system/test/MemoryMappingTest.cpp +179 -0
- package/external/folly/folly/system/test/PidTest.cpp +46 -0
- package/external/folly/folly/system/test/ShellTest.cpp +66 -0
- package/external/folly/folly/system/test/ThreadIdTest.cpp +114 -0
- package/external/folly/folly/system/test/ThreadNameTest.cpp +85 -0
- package/external/folly/folly.vcxitems +164 -0
- package/external/folly/static/logo.svg +1 -0
- package/external/folly/sync-config.json +8 -0
- package/index.js +9 -0
- package/index.windows.js +9 -0
- package/jest/RefreshControlMock.js +2 -2
- package/jest/assetFileTransformer.js +8 -3
- package/jest/mockComponent.js +3 -4
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mocks/ActivityIndicator.js +2 -2
- package/jest/mocks/Image.js +2 -2
- package/jest/mocks/Modal.js +2 -2
- package/jest/mocks/RefreshControl.js +3 -3
- package/jest/mocks/RendererProxy.js +2 -2
- package/jest/mocks/ScrollView.js +5 -5
- package/jest/mocks/Text.js +2 -2
- package/jest/mocks/TextInput.js +2 -2
- package/jest/mocks/View.js +2 -2
- package/jest/mocks/ViewNativeComponent.js +1 -1
- package/jest/mocks/requireNativeComponent.js +1 -1
- package/jest/mocks/useColorScheme.js +1 -1
- package/jest/setup.js +68 -31
- package/package.json +28 -23
- package/src/private/animated/NativeAnimatedHelper.js +2 -2
- package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
- package/src/private/components/virtualview/VirtualView.js +14 -21
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
- package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
- package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/utilities/toError.js +27 -0
- package/src/private/utilities/toExtendedError.js +30 -0
- package/src/private/webapis/dom/events/Event.js +1 -1
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
- package/src/private/webapis/dom/events/EventTarget.js +3 -3
- package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
- package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
- package/src/private/webapis/performance/LongTasks.js +3 -3
- package/src/private/webapis/performance/Performance.js +4 -4
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
- package/src/private/webapis/structuredClone/structuredClone.js +2 -2
- package/src/types/globals.d.ts +4 -4
- package/template/cpp-lib/proj/MyLib.sln +0 -33
- package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
- package/template/cs-lib/proj/MyLib.sln +0 -33
- package/template/metro.config.js +12 -2
- package/templates/cpp-app/metro.config.js +12 -2
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
- package/templates/cpp-app/windows/MyApp.sln +0 -33
- package/templates/cpp-lib/example/metro.config.js +30 -4
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
- package/templates/cpp-lib/windows/MyLib.sln +0 -33
- package/types/index.d.ts +2 -0
- package/Folly/Folly.vcxproj +0 -378
- package/Folly/Folly.vcxproj.filters +0 -558
- package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
- package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
- package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
- package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
- package/Microsoft.ReactNative/ReactSupport.h +0 -13
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
- package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
- package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -23
- package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
- package/Microsoft.ReactNative/XamlUIService.h +0 -37
- package/Microsoft.ReactNative/XamlUIService.idl +0 -53
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
- package/fmt/fmt.vcxproj +0 -153
- package/fmt/fmt.vcxproj.filters +0 -59
- package/fmt/pch.cpp +0 -4
- package/fmt/pch.h +0 -2
- /package/{fmt → external/fmt}/cgmanifest.json +0 -0
- /package/{Folly → external/folly}/Folly.natvis +0 -0
- /package/{Folly → external/folly}/cgmanifest.json +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/ConstexprMath.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/Conv.cpp +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/chrono/Hardware.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/concurrency/CacheLocality.cpp +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/dynamic-inl.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/json.cpp +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/SafeAssert.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.cpp +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/portability/Unistd.cpp +0 -0
|
@@ -0,0 +1,984 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#include <folly/concurrency/DynamicBoundedQueue.h>
|
|
18
|
+
|
|
19
|
+
#include <folly/MPMCQueue.h>
|
|
20
|
+
#include <folly/ProducerConsumerQueue.h>
|
|
21
|
+
#include <folly/portability/GFlags.h>
|
|
22
|
+
#include <folly/portability/GTest.h>
|
|
23
|
+
|
|
24
|
+
#include <glog/logging.h>
|
|
25
|
+
|
|
26
|
+
#include <atomic>
|
|
27
|
+
#include <iomanip>
|
|
28
|
+
#include <thread>
|
|
29
|
+
|
|
30
|
+
DEFINE_bool(bench, false, "run benchmark");
|
|
31
|
+
DEFINE_int32(reps, 10, "number of reps");
|
|
32
|
+
DEFINE_int32(ops, 1000000, "number of operations per rep");
|
|
33
|
+
DEFINE_int64(capacity, 1000000, "capacity");
|
|
34
|
+
|
|
35
|
+
template <typename T, bool MayBlock, typename WeightFn>
|
|
36
|
+
using DSPSC = folly::DSPSCQueue<T, MayBlock, 8, 7, WeightFn>;
|
|
37
|
+
|
|
38
|
+
template <typename T, bool MayBlock, typename WeightFn>
|
|
39
|
+
using DMPSC = folly::DMPSCQueue<T, MayBlock, 8, 7, WeightFn>;
|
|
40
|
+
|
|
41
|
+
template <typename T, bool MayBlock, typename WeightFn>
|
|
42
|
+
using DSPMC = folly::DSPMCQueue<T, MayBlock, 8, 7, WeightFn>;
|
|
43
|
+
|
|
44
|
+
template <typename T, bool MayBlock, typename WeightFn>
|
|
45
|
+
using DMPMC = folly::DMPMCQueue<T, MayBlock, 8, 7, WeightFn>;
|
|
46
|
+
|
|
47
|
+
template <template <typename, bool, typename> class Q, bool MayBlock>
|
|
48
|
+
void basic_test() {
|
|
49
|
+
auto dur = std::chrono::microseconds(100);
|
|
50
|
+
auto deadline = std::chrono::steady_clock::now() + dur;
|
|
51
|
+
|
|
52
|
+
struct CustomWeightFn {
|
|
53
|
+
uint64_t operator()(int val) { return val * 100; }
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
Q<int, MayBlock, CustomWeightFn> q(10000);
|
|
57
|
+
|
|
58
|
+
ASSERT_TRUE(q.empty());
|
|
59
|
+
ASSERT_EQ(q.size(), 0);
|
|
60
|
+
int v;
|
|
61
|
+
ASSERT_FALSE(q.try_dequeue(v));
|
|
62
|
+
ASSERT_FALSE(q.try_dequeue().hasValue());
|
|
63
|
+
|
|
64
|
+
q.enqueue(1);
|
|
65
|
+
ASSERT_TRUE(q.try_enqueue(2));
|
|
66
|
+
ASSERT_TRUE(q.try_enqueue_until(3, deadline));
|
|
67
|
+
ASSERT_TRUE(q.try_enqueue_for(4, dur));
|
|
68
|
+
q.enqueue(5);
|
|
69
|
+
q.enqueue(6);
|
|
70
|
+
q.enqueue(7);
|
|
71
|
+
|
|
72
|
+
ASSERT_EQ(q.size(), 7);
|
|
73
|
+
ASSERT_EQ(q.weight(), 2800);
|
|
74
|
+
ASSERT_FALSE(q.empty());
|
|
75
|
+
|
|
76
|
+
q.dequeue(v);
|
|
77
|
+
ASSERT_EQ(v, 1);
|
|
78
|
+
ASSERT_TRUE(q.try_dequeue(v));
|
|
79
|
+
ASSERT_EQ(v, 2);
|
|
80
|
+
ASSERT_TRUE(q.try_dequeue_until(v, deadline));
|
|
81
|
+
ASSERT_EQ(v, 3);
|
|
82
|
+
ASSERT_TRUE(q.try_dequeue_for(v, dur));
|
|
83
|
+
ASSERT_EQ(v, 4);
|
|
84
|
+
ASSERT_EQ(*q.try_dequeue(), 5);
|
|
85
|
+
ASSERT_EQ(*q.try_dequeue_until(deadline), 6);
|
|
86
|
+
ASSERT_EQ(*q.try_dequeue_for(dur), 7);
|
|
87
|
+
|
|
88
|
+
ASSERT_TRUE(q.empty());
|
|
89
|
+
ASSERT_EQ(q.size(), 0);
|
|
90
|
+
ASSERT_EQ(q.weight(), 0);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
TEST(DynamicBoundedQueue, basic) {
|
|
94
|
+
basic_test<DSPSC, false>();
|
|
95
|
+
basic_test<DMPSC, false>();
|
|
96
|
+
basic_test<DSPMC, false>();
|
|
97
|
+
basic_test<DMPMC, false>();
|
|
98
|
+
basic_test<DSPSC, true>();
|
|
99
|
+
basic_test<DMPSC, true>();
|
|
100
|
+
basic_test<DSPMC, true>();
|
|
101
|
+
basic_test<DMPMC, true>();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
template <template <typename, bool, typename> class Q, bool MayBlock>
|
|
105
|
+
void move_test() {
|
|
106
|
+
struct Foo {
|
|
107
|
+
int v_;
|
|
108
|
+
explicit Foo(int v) noexcept : v_(v) {}
|
|
109
|
+
Foo(const Foo&) = delete;
|
|
110
|
+
Foo& operator=(const Foo&) = delete;
|
|
111
|
+
Foo(Foo&& other) noexcept : v_(other.v_) {}
|
|
112
|
+
Foo& operator=(Foo&& other) noexcept {
|
|
113
|
+
v_ = other.v_;
|
|
114
|
+
return *this;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
struct CustomWeightFn {
|
|
119
|
+
uint64_t operator()(Foo&&) { return 10; }
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
auto dur = std::chrono::microseconds(100);
|
|
123
|
+
auto deadline = std::chrono::steady_clock::now() + dur;
|
|
124
|
+
|
|
125
|
+
Q<Foo, MayBlock, CustomWeightFn> q(100);
|
|
126
|
+
Foo v(1);
|
|
127
|
+
q.enqueue(std::move(v));
|
|
128
|
+
ASSERT_TRUE(q.try_enqueue(std::move(v)));
|
|
129
|
+
ASSERT_TRUE(q.try_enqueue_until(std::move(v), deadline));
|
|
130
|
+
ASSERT_TRUE(q.try_enqueue_for(std::move(v), dur));
|
|
131
|
+
|
|
132
|
+
ASSERT_EQ(q.size(), 4);
|
|
133
|
+
ASSERT_EQ(q.weight(), 40);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
TEST(DynamicBoundedQueue, move) {
|
|
137
|
+
move_test<DSPSC, false>();
|
|
138
|
+
move_test<DMPSC, false>();
|
|
139
|
+
move_test<DSPMC, false>();
|
|
140
|
+
move_test<DMPMC, false>();
|
|
141
|
+
move_test<DSPSC, true>();
|
|
142
|
+
move_test<DMPSC, true>();
|
|
143
|
+
move_test<DSPMC, true>();
|
|
144
|
+
move_test<DMPMC, true>();
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
template <template <typename, bool, typename> class Q, bool MayBlock>
|
|
148
|
+
void capacity_test() {
|
|
149
|
+
struct CustomWeightFn {
|
|
150
|
+
uint64_t operator()(int val) { return val; }
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
Q<int, MayBlock, CustomWeightFn> q(1000);
|
|
154
|
+
ASSERT_EQ(q.weight(), 0);
|
|
155
|
+
int v;
|
|
156
|
+
q.enqueue(100);
|
|
157
|
+
ASSERT_EQ(q.weight(), 100);
|
|
158
|
+
q.enqueue(300);
|
|
159
|
+
ASSERT_EQ(q.weight(), 400);
|
|
160
|
+
ASSERT_FALSE(q.try_enqueue(1200));
|
|
161
|
+
q.reset_capacity(2000); // reset capacityy to 2000
|
|
162
|
+
ASSERT_TRUE(q.try_enqueue(1200));
|
|
163
|
+
ASSERT_EQ(q.weight(), 1600);
|
|
164
|
+
ASSERT_EQ(q.size(), 3);
|
|
165
|
+
q.reset_capacity(1000); // reset capacity back to 1000
|
|
166
|
+
ASSERT_FALSE(q.try_enqueue(100));
|
|
167
|
+
q.dequeue(v);
|
|
168
|
+
ASSERT_EQ(v, 100);
|
|
169
|
+
ASSERT_EQ(q.weight(), 1500);
|
|
170
|
+
q.dequeue(v);
|
|
171
|
+
ASSERT_EQ(v, 300);
|
|
172
|
+
ASSERT_EQ(q.weight(), 1200);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
TEST(DynamicBoundedQueue, capacity) {
|
|
176
|
+
capacity_test<DSPSC, false>();
|
|
177
|
+
capacity_test<DMPSC, false>();
|
|
178
|
+
capacity_test<DSPMC, false>();
|
|
179
|
+
capacity_test<DMPMC, false>();
|
|
180
|
+
capacity_test<DSPSC, true>();
|
|
181
|
+
capacity_test<DMPSC, true>();
|
|
182
|
+
capacity_test<DSPMC, true>();
|
|
183
|
+
capacity_test<DMPMC, true>();
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
template <typename ProdFunc, typename ConsFunc, typename EndFunc>
|
|
187
|
+
inline uint64_t run_once(
|
|
188
|
+
int nprod,
|
|
189
|
+
int ncons,
|
|
190
|
+
const ProdFunc& prodFn,
|
|
191
|
+
const ConsFunc& consFn,
|
|
192
|
+
const EndFunc& endFn) {
|
|
193
|
+
std::atomic<bool> start{false};
|
|
194
|
+
std::atomic<int> ready{0};
|
|
195
|
+
|
|
196
|
+
/* producers */
|
|
197
|
+
std::vector<std::thread> prodThr(nprod);
|
|
198
|
+
for (int tid = 0; tid < nprod; ++tid) {
|
|
199
|
+
prodThr[tid] = std::thread([&, tid] {
|
|
200
|
+
++ready;
|
|
201
|
+
while (!start.load()) {
|
|
202
|
+
/* spin */;
|
|
203
|
+
}
|
|
204
|
+
prodFn(tid);
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* consumers */
|
|
209
|
+
std::vector<std::thread> consThr(ncons);
|
|
210
|
+
for (int tid = 0; tid < ncons; ++tid) {
|
|
211
|
+
consThr[tid] = std::thread([&, tid] {
|
|
212
|
+
++ready;
|
|
213
|
+
while (!start.load()) {
|
|
214
|
+
/* spin */;
|
|
215
|
+
}
|
|
216
|
+
consFn(tid);
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* wait for all producers and consumers to be ready */
|
|
221
|
+
while (ready.load() < (nprod + ncons)) {
|
|
222
|
+
/* spin */;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/* begin time measurement */
|
|
226
|
+
auto tbegin = std::chrono::steady_clock::now();
|
|
227
|
+
start.store(true);
|
|
228
|
+
|
|
229
|
+
/* wait for completion */
|
|
230
|
+
for (int i = 0; i < nprod; ++i) {
|
|
231
|
+
prodThr[i].join();
|
|
232
|
+
}
|
|
233
|
+
for (int i = 0; i < ncons; ++i) {
|
|
234
|
+
consThr[i].join();
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/* end time measurement */
|
|
238
|
+
auto tend = std::chrono::steady_clock::now();
|
|
239
|
+
endFn();
|
|
240
|
+
return std::chrono::duration_cast<std::chrono::nanoseconds>(tend - tbegin)
|
|
241
|
+
.count();
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
template <bool SingleProducer, bool SingleConsumer, bool MayBlock>
|
|
245
|
+
void enq_deq_test(const int nprod, const int ncons) {
|
|
246
|
+
if (SingleProducer) {
|
|
247
|
+
ASSERT_EQ(nprod, 1);
|
|
248
|
+
}
|
|
249
|
+
if (SingleConsumer) {
|
|
250
|
+
ASSERT_EQ(ncons, 1);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
int ops = 1000;
|
|
254
|
+
folly::DynamicBoundedQueue<int, SingleProducer, SingleConsumer, MayBlock, 2>
|
|
255
|
+
q(10);
|
|
256
|
+
std::atomic<uint64_t> sum(0);
|
|
257
|
+
|
|
258
|
+
auto prod = [&](int tid) {
|
|
259
|
+
for (int i = tid; i < ops; i += nprod) {
|
|
260
|
+
if ((i % 3) == 0) {
|
|
261
|
+
while (!q.try_enqueue(i)) {
|
|
262
|
+
/* keep trying */;
|
|
263
|
+
}
|
|
264
|
+
} else if ((i % 3) == 1) {
|
|
265
|
+
auto dur = std::chrono::microseconds(100);
|
|
266
|
+
while (!q.try_enqueue_for(i, dur)) {
|
|
267
|
+
/* keep trying */;
|
|
268
|
+
}
|
|
269
|
+
} else {
|
|
270
|
+
q.enqueue(i);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
auto cons = [&](int tid) {
|
|
276
|
+
uint64_t mysum = 0;
|
|
277
|
+
for (int i = tid; i < ops; i += ncons) {
|
|
278
|
+
int v;
|
|
279
|
+
if ((i % 3) == 0) {
|
|
280
|
+
while (!q.try_dequeue(v)) {
|
|
281
|
+
/* keep trying */;
|
|
282
|
+
}
|
|
283
|
+
} else if ((i % 3) == 1) {
|
|
284
|
+
auto dur = std::chrono::microseconds(100);
|
|
285
|
+
while (!q.try_dequeue_for(v, dur)) {
|
|
286
|
+
/* keep trying */;
|
|
287
|
+
}
|
|
288
|
+
} else {
|
|
289
|
+
q.dequeue(v);
|
|
290
|
+
}
|
|
291
|
+
if (nprod == 1 && ncons == 1) {
|
|
292
|
+
ASSERT_EQ(v, i);
|
|
293
|
+
}
|
|
294
|
+
mysum += v;
|
|
295
|
+
}
|
|
296
|
+
sum.fetch_add(mysum);
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
auto endfn = [&] {
|
|
300
|
+
uint64_t expected = ops;
|
|
301
|
+
expected *= ops - 1;
|
|
302
|
+
expected /= 2;
|
|
303
|
+
ASSERT_EQ(sum.load(), expected);
|
|
304
|
+
};
|
|
305
|
+
run_once(nprod, ncons, prod, cons, endfn);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
TEST(DynamicBoundedQueue, enqDeq) {
|
|
309
|
+
/* SPSC */
|
|
310
|
+
enq_deq_test<true, true, false>(1, 1);
|
|
311
|
+
enq_deq_test<true, true, true>(1, 1);
|
|
312
|
+
/* MPSC */
|
|
313
|
+
enq_deq_test<false, true, false>(1, 1);
|
|
314
|
+
enq_deq_test<false, true, true>(1, 1);
|
|
315
|
+
enq_deq_test<false, true, false>(2, 1);
|
|
316
|
+
enq_deq_test<false, true, true>(2, 1);
|
|
317
|
+
enq_deq_test<false, true, false>(10, 1);
|
|
318
|
+
enq_deq_test<false, true, true>(10, 1);
|
|
319
|
+
/* SPMC */
|
|
320
|
+
enq_deq_test<true, false, false>(1, 1);
|
|
321
|
+
enq_deq_test<true, false, true>(1, 1);
|
|
322
|
+
enq_deq_test<true, false, false>(1, 2);
|
|
323
|
+
enq_deq_test<true, false, true>(1, 2);
|
|
324
|
+
enq_deq_test<true, false, false>(1, 10);
|
|
325
|
+
enq_deq_test<true, false, true>(1, 10);
|
|
326
|
+
/* MPMC */
|
|
327
|
+
enq_deq_test<false, false, false>(1, 1);
|
|
328
|
+
enq_deq_test<false, false, true>(1, 1);
|
|
329
|
+
enq_deq_test<false, false, false>(2, 1);
|
|
330
|
+
enq_deq_test<false, false, true>(2, 1);
|
|
331
|
+
enq_deq_test<false, false, false>(10, 1);
|
|
332
|
+
enq_deq_test<false, false, true>(10, 1);
|
|
333
|
+
enq_deq_test<false, false, false>(1, 2);
|
|
334
|
+
enq_deq_test<false, false, true>(1, 2);
|
|
335
|
+
enq_deq_test<false, false, false>(1, 10);
|
|
336
|
+
enq_deq_test<false, false, true>(1, 10);
|
|
337
|
+
enq_deq_test<false, false, false>(2, 2);
|
|
338
|
+
enq_deq_test<false, false, true>(2, 2);
|
|
339
|
+
enq_deq_test<false, false, false>(10, 10);
|
|
340
|
+
enq_deq_test<false, false, true>(10, 10);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
template <typename RepFunc>
|
|
344
|
+
uint64_t runBench(const std::string& name, int ops, const RepFunc& repFn) {
|
|
345
|
+
int reps = FLAGS_reps;
|
|
346
|
+
uint64_t min = UINTMAX_MAX;
|
|
347
|
+
uint64_t max = 0;
|
|
348
|
+
uint64_t sum = 0;
|
|
349
|
+
|
|
350
|
+
repFn(); // sometimes first run is outlier
|
|
351
|
+
for (int r = 0; r < reps; ++r) {
|
|
352
|
+
uint64_t dur = repFn();
|
|
353
|
+
sum += dur;
|
|
354
|
+
min = std::min(min, dur);
|
|
355
|
+
max = std::max(max, dur);
|
|
356
|
+
// if each rep takes too long run at least 2 reps
|
|
357
|
+
const uint64_t minute = 60000000000ULL;
|
|
358
|
+
if (sum > minute && r >= 1) {
|
|
359
|
+
reps = r + 1;
|
|
360
|
+
break;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
const std::string unit = " ns";
|
|
365
|
+
uint64_t avg = sum / reps;
|
|
366
|
+
uint64_t res = min;
|
|
367
|
+
std::cout << name;
|
|
368
|
+
std::cout << " " << std::setw(4) << max / ops << unit;
|
|
369
|
+
std::cout << " " << std::setw(4) << avg / ops << unit;
|
|
370
|
+
std::cout << " " << std::setw(4) << res / ops << unit;
|
|
371
|
+
std::cout << std::endl;
|
|
372
|
+
return res;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
template <template <typename, bool, typename> class Q, typename T, int Op>
|
|
376
|
+
uint64_t bench(const int nprod, const int ncons, const std::string& name) {
|
|
377
|
+
int ops = FLAGS_ops;
|
|
378
|
+
auto repFn = [&] {
|
|
379
|
+
Q<T, Op == 3 || Op == 4 || Op == 5, folly::DefaultWeightFn<T>> q(
|
|
380
|
+
FLAGS_capacity);
|
|
381
|
+
std::atomic<uint64_t> sum(0);
|
|
382
|
+
auto prod = [&](int tid) {
|
|
383
|
+
for (int i = tid; i < ops; i += nprod) {
|
|
384
|
+
if (Op == 0 || Op == 3) {
|
|
385
|
+
while (!q.try_enqueue(i)) {
|
|
386
|
+
/* keep trying */;
|
|
387
|
+
}
|
|
388
|
+
} else if (Op == 1 || Op == 4) {
|
|
389
|
+
while (!q.try_enqueue_for(i, std::chrono::microseconds(1000))) {
|
|
390
|
+
/* keep trying */;
|
|
391
|
+
}
|
|
392
|
+
} else {
|
|
393
|
+
q.enqueue(i);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
auto cons = [&](int tid) {
|
|
398
|
+
uint64_t mysum = 0;
|
|
399
|
+
T v = -1;
|
|
400
|
+
for (int i = tid; i < ops; i += ncons) {
|
|
401
|
+
if (Op == 0 || Op == 3) {
|
|
402
|
+
while (!q.try_dequeue(v)) {
|
|
403
|
+
/* keep trying */;
|
|
404
|
+
}
|
|
405
|
+
} else if (Op == 1 || Op == 4) {
|
|
406
|
+
while (!q.try_dequeue_for(v, std::chrono::microseconds(1000))) {
|
|
407
|
+
/* keep trying */;
|
|
408
|
+
}
|
|
409
|
+
} else {
|
|
410
|
+
q.dequeue(v);
|
|
411
|
+
}
|
|
412
|
+
if (nprod == 1 && ncons == 1) {
|
|
413
|
+
DCHECK_EQ(int(v), i);
|
|
414
|
+
}
|
|
415
|
+
mysum += v;
|
|
416
|
+
}
|
|
417
|
+
sum.fetch_add(mysum);
|
|
418
|
+
};
|
|
419
|
+
auto endfn = [&] {
|
|
420
|
+
uint64_t expected = ops;
|
|
421
|
+
expected *= ops - 1;
|
|
422
|
+
expected /= 2;
|
|
423
|
+
ASSERT_EQ(sum.load(), expected);
|
|
424
|
+
};
|
|
425
|
+
return run_once(nprod, ncons, prod, cons, endfn);
|
|
426
|
+
};
|
|
427
|
+
return runBench(name, ops, repFn);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/* For performance comparison */
|
|
431
|
+
template <typename T>
|
|
432
|
+
class MPMC {
|
|
433
|
+
folly::MPMCQueue<T> q_;
|
|
434
|
+
|
|
435
|
+
public:
|
|
436
|
+
explicit MPMC(uint64_t capacity) : q_(capacity) {}
|
|
437
|
+
|
|
438
|
+
void enqueue(const T& v) { q_.blockingWrite(v); }
|
|
439
|
+
|
|
440
|
+
void enqueue(T&& v) { q_.blockingWrite(std::move(v)); }
|
|
441
|
+
|
|
442
|
+
bool try_enqueue(const T& v) { return q_.write(v); }
|
|
443
|
+
|
|
444
|
+
bool try_enqueue(const T&& v) { return q_.write(std::move(v)); }
|
|
445
|
+
|
|
446
|
+
template <typename Rep, typename Period>
|
|
447
|
+
bool try_enqueue_for(
|
|
448
|
+
const T& v, const std::chrono::duration<Rep, Period>& duration) {
|
|
449
|
+
return q_.tryWriteUntil(std::chrono::steady_clock::now() + duration, v);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
void dequeue(T& item) { q_.blockingRead(item); }
|
|
453
|
+
|
|
454
|
+
bool try_dequeue(T& item) { return q_.read(item); }
|
|
455
|
+
|
|
456
|
+
template <typename Rep, typename Period>
|
|
457
|
+
bool try_dequeue_for(
|
|
458
|
+
T& item, const std::chrono::duration<Rep, Period>& duration) {
|
|
459
|
+
return q_.tryReadUntil(std::chrono::steady_clock::now() + duration, item);
|
|
460
|
+
}
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
template <typename T, bool, typename>
|
|
464
|
+
using FMPMC = MPMC<T>;
|
|
465
|
+
|
|
466
|
+
template <typename T>
|
|
467
|
+
class PCQ {
|
|
468
|
+
folly::ProducerConsumerQueue<T> q_;
|
|
469
|
+
|
|
470
|
+
public:
|
|
471
|
+
explicit PCQ(uint64_t capacity) : q_(capacity) {}
|
|
472
|
+
|
|
473
|
+
void enqueue(const T&) { ASSERT_TRUE(false); }
|
|
474
|
+
|
|
475
|
+
bool try_enqueue(const T& v) { return q_.write(v); }
|
|
476
|
+
|
|
477
|
+
bool try_enqueue(T&& v) { return q_.write(std::move(v)); }
|
|
478
|
+
|
|
479
|
+
template <typename Rep, typename Period>
|
|
480
|
+
bool try_enqueue_for(const T&, const std::chrono::duration<Rep, Period>&) {
|
|
481
|
+
return false;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
void dequeue(T&) { ASSERT_TRUE(false); }
|
|
485
|
+
|
|
486
|
+
bool try_dequeue(T& item) { return q_.read(item); }
|
|
487
|
+
|
|
488
|
+
template <typename Rep, typename Period>
|
|
489
|
+
bool try_dequeue_for(T&, const std::chrono::duration<Rep, Period>&) {
|
|
490
|
+
return false;
|
|
491
|
+
}
|
|
492
|
+
};
|
|
493
|
+
|
|
494
|
+
template <typename T, bool, typename>
|
|
495
|
+
using FPCQ = PCQ<T>;
|
|
496
|
+
|
|
497
|
+
template <size_t M>
|
|
498
|
+
struct IntArray {
|
|
499
|
+
int a[M];
|
|
500
|
+
IntArray() {}
|
|
501
|
+
/* implicit */ IntArray(int v) {
|
|
502
|
+
for (size_t i = 0; i < M; ++i) {
|
|
503
|
+
a[i] = v;
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
operator int() { return a[0]; }
|
|
507
|
+
};
|
|
508
|
+
|
|
509
|
+
void dottedLine() {
|
|
510
|
+
std::cout << ".............................................................."
|
|
511
|
+
<< std::endl;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
template <typename T>
|
|
515
|
+
void type_benches(const int np, const int nc, const std::string& name) {
|
|
516
|
+
std::cout << name
|
|
517
|
+
<< "===========================================" << std::endl;
|
|
518
|
+
if (np == 1 && nc == 1) {
|
|
519
|
+
bench<DSPSC, T, 0>(1, 1, "DSPSC try spin only ");
|
|
520
|
+
bench<DSPSC, T, 1>(1, 1, "DSPSC timed spin only ");
|
|
521
|
+
bench<DSPSC, T, 2>(1, 1, "DSPSC wait spin only ");
|
|
522
|
+
bench<DSPSC, T, 3>(1, 1, "DSPSC try may block ");
|
|
523
|
+
bench<DSPSC, T, 4>(1, 1, "DSPSC timed may block ");
|
|
524
|
+
bench<DSPSC, T, 5>(1, 1, "DSPSC wait may block ");
|
|
525
|
+
dottedLine();
|
|
526
|
+
}
|
|
527
|
+
if (nc == 1) {
|
|
528
|
+
bench<DMPSC, T, 0>(np, 1, "DMPSC try spin only ");
|
|
529
|
+
bench<DMPSC, T, 1>(np, 1, "DMPSC timed spin only ");
|
|
530
|
+
bench<DMPSC, T, 2>(np, 1, "DMPSC wait spin only ");
|
|
531
|
+
bench<DMPSC, T, 3>(np, 1, "DMPSC try may block ");
|
|
532
|
+
bench<DMPSC, T, 4>(np, 1, "DMPSC timed may block ");
|
|
533
|
+
bench<DMPSC, T, 5>(np, 1, "DMPSC wait may block ");
|
|
534
|
+
dottedLine();
|
|
535
|
+
}
|
|
536
|
+
if (np == 1) {
|
|
537
|
+
bench<DSPMC, T, 0>(1, nc, "DSPMC try spin only ");
|
|
538
|
+
bench<DSPMC, T, 1>(1, nc, "DSPMC timed spin only ");
|
|
539
|
+
bench<DSPMC, T, 2>(1, nc, "DSPMC wait spin only ");
|
|
540
|
+
bench<DSPMC, T, 3>(1, nc, "DSPMC try may block ");
|
|
541
|
+
bench<DSPMC, T, 4>(1, nc, "DSPMC timed may block ");
|
|
542
|
+
bench<DSPMC, T, 5>(1, nc, "DSPMC wait may block ");
|
|
543
|
+
dottedLine();
|
|
544
|
+
}
|
|
545
|
+
bench<DMPMC, T, 0>(np, nc, "DMPMC try spin only ");
|
|
546
|
+
bench<DMPMC, T, 1>(np, nc, "DMPMC timed spin only ");
|
|
547
|
+
bench<DMPMC, T, 2>(np, nc, "DMPMC wait spin only ");
|
|
548
|
+
bench<DMPMC, T, 3>(np, nc, "DMPMC try may block ");
|
|
549
|
+
bench<DMPMC, T, 4>(np, nc, "DMPMC timed may block ");
|
|
550
|
+
bench<DMPMC, T, 5>(np, nc, "DMPMC wait may block ");
|
|
551
|
+
dottedLine();
|
|
552
|
+
if (np == 1 && nc == 1) {
|
|
553
|
+
bench<FPCQ, T, 0>(1, 1, "folly::PCQ read ");
|
|
554
|
+
dottedLine();
|
|
555
|
+
}
|
|
556
|
+
bench<FMPMC, T, 3>(np, nc, "folly::MPMC read ");
|
|
557
|
+
bench<FMPMC, T, 4>(np, nc, "folly::MPMC tryReadUntil ");
|
|
558
|
+
bench<FMPMC, T, 5>(np, nc, "folly::MPMC blockingRead ");
|
|
559
|
+
std::cout << "=============================================================="
|
|
560
|
+
<< std::endl;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
void benches(const int np, const int nc) {
|
|
564
|
+
std::cout << "====================== " << std::setw(2) << np << " prod"
|
|
565
|
+
<< " " << std::setw(2) << nc << " cons"
|
|
566
|
+
<< " ======================" << std::endl;
|
|
567
|
+
type_benches<uint32_t>(np, nc, "=== uint32_t ======");
|
|
568
|
+
// Benchmarks for other element sizes can be added as follows:
|
|
569
|
+
// type_benches<IntArray<4>>(np, nc, "=== IntArray<4> ===");
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
TEST(DynamicBoundedQueue, bench) {
|
|
573
|
+
if (!FLAGS_bench) {
|
|
574
|
+
return;
|
|
575
|
+
}
|
|
576
|
+
std::cout << "=============================================================="
|
|
577
|
+
<< std::endl;
|
|
578
|
+
std::cout << std::setw(2) << FLAGS_reps << " reps of " << std::setw(8)
|
|
579
|
+
<< FLAGS_ops << " handoffs\n";
|
|
580
|
+
dottedLine();
|
|
581
|
+
std::cout << "Using capacity " << FLAGS_capacity << " for all queues\n";
|
|
582
|
+
std::cout << "=============================================================="
|
|
583
|
+
<< std::endl;
|
|
584
|
+
std::cout << "Test name Max time Avg time Min time"
|
|
585
|
+
<< std::endl;
|
|
586
|
+
|
|
587
|
+
for (int np : {1, 8, 32}) {
|
|
588
|
+
for (int nc : {1, 8, 32}) {
|
|
589
|
+
benches(np, nc);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
/*
|
|
595
|
+
$ numactl -N 1 dynamic_bounded_queue_test --bench --capacity=1000000
|
|
596
|
+
==============================================================
|
|
597
|
+
10 reps of 1000000 handoffs
|
|
598
|
+
..............................................................
|
|
599
|
+
Using capacity 1000000 for all queues
|
|
600
|
+
==============================================================
|
|
601
|
+
Test name Max time Avg time Min time
|
|
602
|
+
====================== 1 prod 1 cons ======================
|
|
603
|
+
=== uint32_t =================================================
|
|
604
|
+
DSPSC try spin only 7 ns 7 ns 7 ns
|
|
605
|
+
DSPSC timed spin only 9 ns 9 ns 9 ns
|
|
606
|
+
DSPSC wait spin only 7 ns 7 ns 7 ns
|
|
607
|
+
DSPSC try may block 39 ns 36 ns 33 ns
|
|
608
|
+
DSPSC timed may block 39 ns 38 ns 37 ns
|
|
609
|
+
DSPSC wait may block 37 ns 34 ns 33 ns
|
|
610
|
+
..............................................................
|
|
611
|
+
DMPSC try spin only 54 ns 53 ns 52 ns
|
|
612
|
+
DMPSC timed spin only 53 ns 52 ns 51 ns
|
|
613
|
+
DMPSC wait spin only 53 ns 52 ns 51 ns
|
|
614
|
+
DMPSC try may block 67 ns 65 ns 64 ns
|
|
615
|
+
DMPSC timed may block 64 ns 62 ns 60 ns
|
|
616
|
+
DMPSC wait may block 64 ns 62 ns 60 ns
|
|
617
|
+
..............................................................
|
|
618
|
+
DSPMC try spin only 25 ns 24 ns 23 ns
|
|
619
|
+
DSPMC timed spin only 24 ns 23 ns 23 ns
|
|
620
|
+
DSPMC wait spin only 22 ns 21 ns 21 ns
|
|
621
|
+
DSPMC try may block 30 ns 26 ns 21 ns
|
|
622
|
+
DSPMC timed may block 25 ns 24 ns 24 ns
|
|
623
|
+
DSPMC wait may block 22 ns 22 ns 21 ns
|
|
624
|
+
..............................................................
|
|
625
|
+
DMPMC try spin only 48 ns 45 ns 39 ns
|
|
626
|
+
DMPMC timed spin only 31 ns 30 ns 24 ns
|
|
627
|
+
DMPMC wait spin only 49 ns 47 ns 43 ns
|
|
628
|
+
DMPMC try may block 63 ns 62 ns 61 ns
|
|
629
|
+
DMPMC timed may block 64 ns 60 ns 46 ns
|
|
630
|
+
DMPMC wait may block 61 ns 60 ns 58 ns
|
|
631
|
+
..............................................................
|
|
632
|
+
folly::PCQ read 8 ns 7 ns 7 ns
|
|
633
|
+
..............................................................
|
|
634
|
+
folly::MPMC read 53 ns 51 ns 49 ns
|
|
635
|
+
folly::MPMC tryReadUntil 112 ns 106 ns 103 ns
|
|
636
|
+
folly::MPMC blockingRead 50 ns 47 ns 46 ns
|
|
637
|
+
==============================================================
|
|
638
|
+
====================== 1 prod 8 cons ======================
|
|
639
|
+
=== uint32_t =================================================
|
|
640
|
+
DSPMC try spin only 166 ns 159 ns 153 ns
|
|
641
|
+
DSPMC timed spin only 169 ns 163 ns 156 ns
|
|
642
|
+
DSPMC wait spin only 60 ns 57 ns 54 ns
|
|
643
|
+
DSPMC try may block 170 ns 163 ns 153 ns
|
|
644
|
+
DSPMC timed may block 165 ns 157 ns 150 ns
|
|
645
|
+
DSPMC wait may block 94 ns 78 ns 52 ns
|
|
646
|
+
..............................................................
|
|
647
|
+
DMPMC try spin only 170 ns 161 ns 149 ns
|
|
648
|
+
DMPMC timed spin only 167 ns 158 ns 149 ns
|
|
649
|
+
DMPMC wait spin only 93 ns 80 ns 51 ns
|
|
650
|
+
DMPMC try may block 164 ns 161 ns 154 ns
|
|
651
|
+
DMPMC timed may block 163 ns 156 ns 145 ns
|
|
652
|
+
DMPMC wait may block 117 ns 102 ns 87 ns
|
|
653
|
+
..............................................................
|
|
654
|
+
folly::MPMC read 176 ns 168 ns 159 ns
|
|
655
|
+
folly::MPMC tryReadUntil 1846 ns 900 ns 521 ns
|
|
656
|
+
folly::MPMC blockingRead 219 ns 193 ns 178 ns
|
|
657
|
+
==============================================================
|
|
658
|
+
====================== 1 prod 32 cons ======================
|
|
659
|
+
=== uint32_t =================================================
|
|
660
|
+
DSPMC try spin only 224 ns 213 ns 204 ns
|
|
661
|
+
DSPMC timed spin only 215 ns 209 ns 199 ns
|
|
662
|
+
DSPMC wait spin only 334 ns 114 ns 52 ns
|
|
663
|
+
DSPMC try may block 240 ns 215 ns 202 ns
|
|
664
|
+
DSPMC timed may block 245 ns 221 ns 200 ns
|
|
665
|
+
DSPMC wait may block 215 ns 151 ns 98 ns
|
|
666
|
+
..............................................................
|
|
667
|
+
DMPMC try spin only 348 ns 252 ns 204 ns
|
|
668
|
+
DMPMC timed spin only 379 ns 244 ns 198 ns
|
|
669
|
+
DMPMC wait spin only 173 ns 116 ns 89 ns
|
|
670
|
+
DMPMC try may block 362 ns 231 ns 173 ns
|
|
671
|
+
DMPMC timed may block 282 ns 236 ns 206 ns
|
|
672
|
+
DMPMC wait may block 252 ns 172 ns 134 ns
|
|
673
|
+
..............................................................
|
|
674
|
+
folly::MPMC read 540 ns 290 ns 186 ns
|
|
675
|
+
folly::MPMC tryReadUntil 24946 ns 24280 ns 23113 ns
|
|
676
|
+
folly::MPMC blockingRead 1345 ns 1297 ns 1265 ns
|
|
677
|
+
==============================================================
|
|
678
|
+
====================== 8 prod 1 cons ======================
|
|
679
|
+
=== uint32_t =================================================
|
|
680
|
+
DMPSC try spin only 68 ns 64 ns 60 ns
|
|
681
|
+
DMPSC timed spin only 69 ns 66 ns 61 ns
|
|
682
|
+
DMPSC wait spin only 67 ns 65 ns 62 ns
|
|
683
|
+
DMPSC try may block 77 ns 73 ns 67 ns
|
|
684
|
+
DMPSC timed may block 75 ns 74 ns 68 ns
|
|
685
|
+
DMPSC wait may block 76 ns 73 ns 69 ns
|
|
686
|
+
..............................................................
|
|
687
|
+
DMPMC try spin only 76 ns 66 ns 60 ns
|
|
688
|
+
DMPMC timed spin only 77 ns 68 ns 63 ns
|
|
689
|
+
DMPMC wait spin only 68 ns 65 ns 63 ns
|
|
690
|
+
DMPMC try may block 76 ns 72 ns 64 ns
|
|
691
|
+
DMPMC timed may block 82 ns 74 ns 67 ns
|
|
692
|
+
DMPMC wait may block 77 ns 72 ns 68 ns
|
|
693
|
+
..............................................................
|
|
694
|
+
folly::MPMC read 170 ns 166 ns 161 ns
|
|
695
|
+
folly::MPMC tryReadUntil 184 ns 179 ns 173 ns
|
|
696
|
+
folly::MPMC blockingRead 79 ns 73 ns 53 ns
|
|
697
|
+
==============================================================
|
|
698
|
+
====================== 8 prod 8 cons ======================
|
|
699
|
+
=== uint32_t =================================================
|
|
700
|
+
DMPMC try spin only 181 ns 169 ns 133 ns
|
|
701
|
+
DMPMC timed spin only 179 ns 168 ns 148 ns
|
|
702
|
+
DMPMC wait spin only 77 ns 76 ns 71 ns
|
|
703
|
+
DMPMC try may block 180 ns 179 ns 176 ns
|
|
704
|
+
DMPMC timed may block 174 ns 166 ns 153 ns
|
|
705
|
+
DMPMC wait may block 79 ns 78 ns 75 ns
|
|
706
|
+
..............................................................
|
|
707
|
+
folly::MPMC read 219 ns 206 ns 183 ns
|
|
708
|
+
folly::MPMC tryReadUntil 262 ns 244 ns 213 ns
|
|
709
|
+
folly::MPMC blockingRead 61 ns 58 ns 54 ns
|
|
710
|
+
==============================================================
|
|
711
|
+
====================== 8 prod 32 cons ======================
|
|
712
|
+
=== uint32_t =================================================
|
|
713
|
+
DMPMC try spin only 265 ns 217 ns 203 ns
|
|
714
|
+
DMPMC timed spin only 236 ns 215 ns 202 ns
|
|
715
|
+
DMPMC wait spin only 93 ns 83 ns 77 ns
|
|
716
|
+
DMPMC try may block 325 ns 234 ns 200 ns
|
|
717
|
+
DMPMC timed may block 206 ns 202 ns 193 ns
|
|
718
|
+
DMPMC wait may block 139 ns 93 ns 76 ns
|
|
719
|
+
..............................................................
|
|
720
|
+
folly::MPMC read 259 ns 214 ns 201 ns
|
|
721
|
+
folly::MPMC tryReadUntil 281 ns 274 ns 267 ns
|
|
722
|
+
folly::MPMC blockingRead 62 ns 59 ns 57 ns
|
|
723
|
+
==============================================================
|
|
724
|
+
====================== 32 prod 1 cons ======================
|
|
725
|
+
=== uint32_t =================================================
|
|
726
|
+
DMPSC try spin only 95 ns 57 ns 45 ns
|
|
727
|
+
DMPSC timed spin only 94 ns 52 ns 46 ns
|
|
728
|
+
DMPSC wait spin only 104 ns 54 ns 43 ns
|
|
729
|
+
DMPSC try may block 59 ns 54 ns 51 ns
|
|
730
|
+
DMPSC timed may block 86 ns 58 ns 52 ns
|
|
731
|
+
DMPSC wait may block 76 ns 57 ns 53 ns
|
|
732
|
+
..............................................................
|
|
733
|
+
DMPMC try spin only 68 ns 64 ns 60 ns
|
|
734
|
+
DMPMC timed spin only 137 ns 73 ns 61 ns
|
|
735
|
+
DMPMC wait spin only 86 ns 65 ns 58 ns
|
|
736
|
+
DMPMC try may block 89 ns 71 ns 65 ns
|
|
737
|
+
DMPMC timed may block 82 ns 69 ns 65 ns
|
|
738
|
+
DMPMC wait may block 84 ns 71 ns 66 ns
|
|
739
|
+
..............................................................
|
|
740
|
+
folly::MPMC read 222 ns 203 ns 192 ns
|
|
741
|
+
folly::MPMC tryReadUntil 239 ns 232 ns 191 ns
|
|
742
|
+
folly::MPMC blockingRead 78 ns 68 ns 64 ns
|
|
743
|
+
==============================================================
|
|
744
|
+
====================== 32 prod 8 cons ======================
|
|
745
|
+
=== uint32_t =================================================
|
|
746
|
+
DMPMC try spin only 183 ns 138 ns 107 ns
|
|
747
|
+
DMPMC timed spin only 237 ns 158 ns 98 ns
|
|
748
|
+
DMPMC wait spin only 87 ns 70 ns 58 ns
|
|
749
|
+
DMPMC try may block 169 ns 132 ns 92 ns
|
|
750
|
+
DMPMC timed may block 172 ns 133 ns 79 ns
|
|
751
|
+
DMPMC wait may block 166 ns 89 ns 66 ns
|
|
752
|
+
..............................................................
|
|
753
|
+
folly::MPMC read 221 ns 194 ns 183 ns
|
|
754
|
+
folly::MPMC tryReadUntil 258 ns 244 ns 230 ns
|
|
755
|
+
folly::MPMC blockingRead 60 ns 54 ns 47 ns
|
|
756
|
+
==============================================================
|
|
757
|
+
====================== 32 prod 32 cons ======================
|
|
758
|
+
=== uint32_t =================================================
|
|
759
|
+
DMPMC try spin only 419 ns 252 ns 181 ns
|
|
760
|
+
DMPMC timed spin only 252 ns 212 ns 179 ns
|
|
761
|
+
DMPMC wait spin only 153 ns 79 ns 62 ns
|
|
762
|
+
DMPMC try may block 302 ns 236 ns 182 ns
|
|
763
|
+
DMPMC timed may block 266 ns 213 ns 170 ns
|
|
764
|
+
DMPMC wait may block 262 ns 120 ns 64 ns
|
|
765
|
+
..............................................................
|
|
766
|
+
folly::MPMC read 269 ns 245 ns 199 ns
|
|
767
|
+
folly::MPMC tryReadUntil 257 ns 245 ns 235 ns
|
|
768
|
+
folly::MPMC blockingRead 53 ns 48 ns 45 ns
|
|
769
|
+
==============================================================
|
|
770
|
+
|
|
771
|
+
$ numactl -N 1 dynamic_bounded_queue_test --bench --capacity=1000
|
|
772
|
+
==============================================================
|
|
773
|
+
10 reps of 1000000 handoffs
|
|
774
|
+
..............................................................
|
|
775
|
+
Using capacity 1000 for all queues
|
|
776
|
+
==============================================================
|
|
777
|
+
Test name Max time Avg time Min time
|
|
778
|
+
====================== 1 prod 1 cons ======================
|
|
779
|
+
=== uint32_t =================================================
|
|
780
|
+
DSPSC try spin only 7 ns 7 ns 7 ns
|
|
781
|
+
DSPSC timed spin only 9 ns 9 ns 9 ns
|
|
782
|
+
DSPSC wait spin only 7 ns 7 ns 7 ns
|
|
783
|
+
DSPSC try may block 34 ns 33 ns 31 ns
|
|
784
|
+
DSPSC timed may block 34 ns 34 ns 33 ns
|
|
785
|
+
DSPSC wait may block 30 ns 30 ns 29 ns
|
|
786
|
+
..............................................................
|
|
787
|
+
DMPSC try spin only 60 ns 57 ns 55 ns
|
|
788
|
+
DMPSC timed spin only 55 ns 52 ns 51 ns
|
|
789
|
+
DMPSC wait spin only 57 ns 54 ns 52 ns
|
|
790
|
+
DMPSC try may block 66 ns 62 ns 39 ns
|
|
791
|
+
DMPSC timed may block 67 ns 64 ns 62 ns
|
|
792
|
+
DMPSC wait may block 67 ns 65 ns 64 ns
|
|
793
|
+
..............................................................
|
|
794
|
+
DSPMC try spin only 27 ns 25 ns 24 ns
|
|
795
|
+
DSPMC timed spin only 25 ns 25 ns 24 ns
|
|
796
|
+
DSPMC wait spin only 23 ns 23 ns 22 ns
|
|
797
|
+
DSPMC try may block 31 ns 26 ns 24 ns
|
|
798
|
+
DSPMC timed may block 33 ns 30 ns 30 ns
|
|
799
|
+
DSPMC wait may block 37 ns 29 ns 28 ns
|
|
800
|
+
..............................................................
|
|
801
|
+
DMPMC try spin only 55 ns 53 ns 51 ns
|
|
802
|
+
DMPMC timed spin only 36 ns 31 ns 26 ns
|
|
803
|
+
DMPMC wait spin only 54 ns 53 ns 51 ns
|
|
804
|
+
DMPMC try may block 68 ns 64 ns 51 ns
|
|
805
|
+
DMPMC timed may block 66 ns 63 ns 60 ns
|
|
806
|
+
DMPMC wait may block 68 ns 63 ns 60 ns
|
|
807
|
+
..............................................................
|
|
808
|
+
folly::PCQ read 15 ns 13 ns 11 ns
|
|
809
|
+
..............................................................
|
|
810
|
+
folly::MPMC read 60 ns 56 ns 51 ns
|
|
811
|
+
folly::MPMC tryReadUntil 134 ns 112 ns 102 ns
|
|
812
|
+
folly::MPMC blockingRead 57 ns 51 ns 48 ns
|
|
813
|
+
==============================================================
|
|
814
|
+
====================== 1 prod 8 cons ======================
|
|
815
|
+
=== uint32_t =================================================
|
|
816
|
+
DSPMC try spin only 169 ns 162 ns 151 ns
|
|
817
|
+
DSPMC timed spin only 178 ns 166 ns 149 ns
|
|
818
|
+
DSPMC wait spin only 59 ns 55 ns 54 ns
|
|
819
|
+
DSPMC try may block 173 ns 163 ns 153 ns
|
|
820
|
+
DSPMC timed may block 171 ns 166 ns 156 ns
|
|
821
|
+
DSPMC wait may block 71 ns 57 ns 51 ns
|
|
822
|
+
..............................................................
|
|
823
|
+
DMPMC try spin only 172 ns 164 ns 158 ns
|
|
824
|
+
DMPMC timed spin only 173 ns 164 ns 156 ns
|
|
825
|
+
DMPMC wait spin only 77 ns 62 ns 53 ns
|
|
826
|
+
DMPMC try may block 181 ns 163 ns 152 ns
|
|
827
|
+
DMPMC timed may block 174 ns 165 ns 151 ns
|
|
828
|
+
DMPMC wait may block 91 ns 72 ns 52 ns
|
|
829
|
+
..............................................................
|
|
830
|
+
folly::MPMC read 178 ns 167 ns 161 ns
|
|
831
|
+
folly::MPMC tryReadUntil 991 ns 676 ns 423 ns
|
|
832
|
+
folly::MPMC blockingRead 154 ns 129 ns 96 ns
|
|
833
|
+
==============================================================
|
|
834
|
+
====================== 1 prod 32 cons ======================
|
|
835
|
+
=== uint32_t =================================================
|
|
836
|
+
DSPMC try spin only 462 ns 288 ns 201 ns
|
|
837
|
+
DSPMC timed spin only 514 ns 283 ns 201 ns
|
|
838
|
+
DSPMC wait spin only 100 ns 60 ns 45 ns
|
|
839
|
+
DSPMC try may block 531 ns 318 ns 203 ns
|
|
840
|
+
DSPMC timed may block 1379 ns 891 ns 460 ns
|
|
841
|
+
DSPMC wait may block 148 ns 111 ns 82 ns
|
|
842
|
+
..............................................................
|
|
843
|
+
DMPMC try spin only 404 ns 312 ns 205 ns
|
|
844
|
+
DMPMC timed spin only 337 ns 253 ns 219 ns
|
|
845
|
+
DMPMC wait spin only 130 ns 97 ns 72 ns
|
|
846
|
+
DMPMC try may block 532 ns 265 ns 201 ns
|
|
847
|
+
DMPMC timed may block 846 ns 606 ns 412 ns
|
|
848
|
+
DMPMC wait may block 158 ns 112 ns 87 ns
|
|
849
|
+
..............................................................
|
|
850
|
+
folly::MPMC read 880 ns 419 ns 284 ns
|
|
851
|
+
folly::MPMC tryReadUntil 23432 ns 23184 ns 23007 ns
|
|
852
|
+
folly::MPMC blockingRead 1353 ns 1308 ns 1279 ns
|
|
853
|
+
==============================================================
|
|
854
|
+
====================== 8 prod 1 cons ======================
|
|
855
|
+
=== uint32_t =================================================
|
|
856
|
+
DMPSC try spin only 67 ns 63 ns 51 ns
|
|
857
|
+
DMPSC timed spin only 69 ns 65 ns 63 ns
|
|
858
|
+
DMPSC wait spin only 67 ns 65 ns 61 ns
|
|
859
|
+
DMPSC try may block 73 ns 69 ns 63 ns
|
|
860
|
+
DMPSC timed may block 72 ns 69 ns 64 ns
|
|
861
|
+
DMPSC wait may block 71 ns 70 ns 68 ns
|
|
862
|
+
..............................................................
|
|
863
|
+
DMPMC try spin only 70 ns 64 ns 59 ns
|
|
864
|
+
DMPMC timed spin only 76 ns 66 ns 53 ns
|
|
865
|
+
DMPMC wait spin only 68 ns 66 ns 64 ns
|
|
866
|
+
DMPMC try may block 71 ns 68 ns 66 ns
|
|
867
|
+
DMPMC timed may block 72 ns 70 ns 67 ns
|
|
868
|
+
DMPMC wait may block 73 ns 70 ns 67 ns
|
|
869
|
+
..............................................................
|
|
870
|
+
folly::MPMC read 193 ns 167 ns 153 ns
|
|
871
|
+
folly::MPMC tryReadUntil 497 ns 415 ns 348 ns
|
|
872
|
+
folly::MPMC blockingRead 163 ns 134 ns 115 ns
|
|
873
|
+
==============================================================
|
|
874
|
+
====================== 8 prod 8 cons ======================
|
|
875
|
+
=== uint32_t =================================================
|
|
876
|
+
DMPMC try spin only 216 ns 203 ns 196 ns
|
|
877
|
+
DMPMC timed spin only 199 ns 186 ns 178 ns
|
|
878
|
+
DMPMC wait spin only 63 ns 60 ns 58 ns
|
|
879
|
+
DMPMC try may block 212 ns 198 ns 183 ns
|
|
880
|
+
DMPMC timed may block 180 ns 170 ns 162 ns
|
|
881
|
+
DMPMC wait may block 72 ns 68 ns 65 ns
|
|
882
|
+
..............................................................
|
|
883
|
+
folly::MPMC read 225 ns 201 ns 188 ns
|
|
884
|
+
folly::MPMC tryReadUntil 255 ns 248 ns 232 ns
|
|
885
|
+
folly::MPMC blockingRead 52 ns 48 ns 42 ns
|
|
886
|
+
==============================================================
|
|
887
|
+
====================== 8 prod 32 cons ======================
|
|
888
|
+
=== uint32_t =================================================
|
|
889
|
+
DMPMC try spin only 360 ns 302 ns 195 ns
|
|
890
|
+
DMPMC timed spin only 350 ns 272 ns 218 ns
|
|
891
|
+
DMPMC wait spin only 92 ns 72 ns 61 ns
|
|
892
|
+
DMPMC try may block 352 ns 263 ns 223 ns
|
|
893
|
+
DMPMC timed may block 218 ns 213 ns 209 ns
|
|
894
|
+
DMPMC wait may block 98 ns 77 ns 70 ns
|
|
895
|
+
..............................................................
|
|
896
|
+
folly::MPMC read 611 ns 461 ns 339 ns
|
|
897
|
+
folly::MPMC tryReadUntil 270 ns 260 ns 253 ns
|
|
898
|
+
folly::MPMC blockingRead 89 ns 84 ns 80 ns
|
|
899
|
+
==============================================================
|
|
900
|
+
====================== 32 prod 1 cons ======================
|
|
901
|
+
=== uint32_t =================================================
|
|
902
|
+
DMPSC try spin only 389 ns 248 ns 149 ns
|
|
903
|
+
DMPSC timed spin only 356 ns 235 ns 120 ns
|
|
904
|
+
DMPSC wait spin only 343 ns 242 ns 125 ns
|
|
905
|
+
DMPSC try may block 412 ns 294 ns 168 ns
|
|
906
|
+
DMPSC timed may block 332 ns 271 ns 189 ns
|
|
907
|
+
DMPSC wait may block 280 ns 252 ns 199 ns
|
|
908
|
+
..............................................................
|
|
909
|
+
DMPMC try spin only 393 ns 269 ns 105 ns
|
|
910
|
+
DMPMC timed spin only 328 ns 240 ns 112 ns
|
|
911
|
+
DMPMC wait spin only 502 ns 266 ns 107 ns
|
|
912
|
+
DMPMC try may block 514 ns 346 ns 192 ns
|
|
913
|
+
DMPMC timed may block 339 ns 318 ns 278 ns
|
|
914
|
+
DMPMC wait may block 319 ns 307 ns 292 ns
|
|
915
|
+
..............................................................
|
|
916
|
+
folly::MPMC read 948 ns 517 ns 232 ns
|
|
917
|
+
folly::MPMC tryReadUntil 9649 ns 7567 ns 4140 ns
|
|
918
|
+
folly::MPMC blockingRead 1365 ns 1316 ns 1131 ns
|
|
919
|
+
==============================================================
|
|
920
|
+
====================== 32 prod 8 cons ======================
|
|
921
|
+
=== uint32_t =================================================
|
|
922
|
+
DMPMC try spin only 436 ns 257 ns 115 ns
|
|
923
|
+
DMPMC timed spin only 402 ns 272 ns 121 ns
|
|
924
|
+
DMPMC wait spin only 136 ns 78 ns 55 ns
|
|
925
|
+
DMPMC try may block 454 ns 227 ns 78 ns
|
|
926
|
+
DMPMC timed may block 155 ns 137 ns 116 ns
|
|
927
|
+
DMPMC wait may block 62 ns 59 ns 57 ns
|
|
928
|
+
..............................................................
|
|
929
|
+
folly::MPMC read 677 ns 497 ns 336 ns
|
|
930
|
+
folly::MPMC tryReadUntil 268 ns 262 ns 258 ns
|
|
931
|
+
folly::MPMC blockingRead 87 ns 85 ns 82 ns
|
|
932
|
+
==============================================================
|
|
933
|
+
====================== 32 prod 32 cons ======================
|
|
934
|
+
=== uint32_t =================================================
|
|
935
|
+
DMPMC try spin only 786 ns 381 ns 142 ns
|
|
936
|
+
DMPMC timed spin only 795 ns 346 ns 126 ns
|
|
937
|
+
DMPMC wait spin only 334 ns 107 ns 55 ns
|
|
938
|
+
DMPMC try may block 535 ns 317 ns 144 ns
|
|
939
|
+
DMPMC timed may block 197 ns 192 ns 183 ns
|
|
940
|
+
DMPMC wait may block 189 ns 75 ns 60 ns
|
|
941
|
+
..............................................................
|
|
942
|
+
folly::MPMC read 1110 ns 919 ns 732 ns
|
|
943
|
+
folly::MPMC tryReadUntil 214 ns 210 ns 206 ns
|
|
944
|
+
folly::MPMC blockingRead 53 ns 52 ns 51 ns
|
|
945
|
+
==============================================================
|
|
946
|
+
|
|
947
|
+
$ lscpu
|
|
948
|
+
Architecture: x86_64
|
|
949
|
+
CPU op-mode(s): 32-bit, 64-bit
|
|
950
|
+
Byte Order: Little Endian
|
|
951
|
+
CPU(s): 32
|
|
952
|
+
On-line CPU(s) list: 0-31
|
|
953
|
+
Thread(s) per core: 2
|
|
954
|
+
Core(s) per socket: 8
|
|
955
|
+
Socket(s): 2
|
|
956
|
+
NUMA node(s): 2
|
|
957
|
+
Vendor ID: GenuineIntel
|
|
958
|
+
CPU family: 6
|
|
959
|
+
Model: 45
|
|
960
|
+
Model name: Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz
|
|
961
|
+
Stepping: 6
|
|
962
|
+
CPU MHz: 2200.000
|
|
963
|
+
CPU max MHz: 2200.0000
|
|
964
|
+
CPU min MHz: 1200.0000
|
|
965
|
+
BogoMIPS: 4399.92
|
|
966
|
+
Virtualization: VT-x
|
|
967
|
+
L1d cache: 32K
|
|
968
|
+
L1i cache: 32K
|
|
969
|
+
L2 cache: 256K
|
|
970
|
+
L3 cache: 20480K
|
|
971
|
+
NUMA node0 CPU(s): 0-7,16-23
|
|
972
|
+
NUMA node1 CPU(s): 8-15,24-31
|
|
973
|
+
|
|
974
|
+
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
|
|
975
|
+
pge mca cmov pat pse36 clflush dts acpi mmx fxsr
|
|
976
|
+
sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp
|
|
977
|
+
lm constant_tsc arch_perfmon pebs bts rep_good
|
|
978
|
+
nopl xtopology nonstop_tsc aperfmperf eagerfpu
|
|
979
|
+
pni pclmulqdq dtes64 monitor ds_cpl vmx smx est
|
|
980
|
+
tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2
|
|
981
|
+
x2apic popcnt tsc_deadline_timer aes xsave avx
|
|
982
|
+
lahf_lm epb tpr_shadow vnmi flexpriority ept vpid
|
|
983
|
+
xsaveopt dtherm arat pln pts
|
|
984
|
+
*/
|