Experiment to replace Fabric MountItem lists with concurrent queues

Summary:
Currently, queuing any sort of MountItem or getting the list of MountItems requires synchronization. Since these can be queued up at any point from the JS thread, there will, in theory, be constant contention between JS and UI thread.

To see if this is true, I'm creating an experiment instead of just switching over to concurrent structures. After seeing results, we can hopefully make a decision and delete the non-concurrent stuff or improve on it somehow.

Changelog: [Internal]

Reviewed By: ejanzer

Differential Revision: D24942110

fbshipit-source-id: fcbdeda51f91f4bd430a20d7484854fb1e94a832
This commit is contained in:
Joshua Gross
2020-11-13 21:53:36 -08:00
committed by Facebook GitHub Bot
parent 480dabd665
commit 23def0f8f0
2 changed files with 144 additions and 61 deletions
@@ -88,4 +88,7 @@ public class ReactFeatureFlags {
/** Potential bugfix for crashes caused by mutating the view hierarchy during onDraw. */
public static boolean enableDrawMutationFix = true;
/** Use lock-free data structures for Fabric MountItems. */
public static boolean enableLockFreeMountInstructions = false;
}