From b65fd09b913402366153bbcbe73fb4345f6a1a2e Mon Sep 17 00:00:00 2001 From: Hector Ramos Date: Tue, 8 Aug 2017 08:57:35 -0700 Subject: [PATCH] Add Performance in Marketplace blog post Reviewed By: AaaChiuuu Differential Revision: D5576169 fbshipit-source-id: db7643601251c226c949e7f195013980fb9e6f7e --- ...react-native-performance-in-marketplace.md | 57 ++++++++++++++++++ blog/img/RNPerformanceStartup.png | Bin 0 -> 63417 bytes 2 files changed, 57 insertions(+) create mode 100644 blog/2017-08-07-react-native-performance-in-marketplace.md create mode 100644 blog/img/RNPerformanceStartup.png diff --git a/blog/2017-08-07-react-native-performance-in-marketplace.md b/blog/2017-08-07-react-native-performance-in-marketplace.md new file mode 100644 index 000000000..88bcbe19a --- /dev/null +++ b/blog/2017-08-07-react-native-performance-in-marketplace.md @@ -0,0 +1,57 @@ +--- +title: React Native Performance in Marketplace +author: Aaron Chiu +authorTitle: Software Engineer at Facebook +authorURL: https://www.facebook.com/aaronechiu +authorImage: https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-9/185908_1738453495300_6268428_n.jpg?_nc_log=1&oh=b0d497607c0d2012e88fde70cf4c7c7e&oe=59ED387B&__gda__=1509259466_d31a1cfbe282168c51f63019db5db391 +authorTwitter: AaaChiuuu +category: engineering +--- + +React Native is used in multiple places across multiple apps in the Facebook family including a top level tab in the main Facebook apps. Our focus for this post is a highly visible product, [Marketplace](https://newsroom.fb.com/news/2016/10/introducing-marketplace-buy-and-sell-with-your-local-community/). It is available in a dozen or so countries and enables users to discover products and services provided by other users. + +In the first half of 2017, through the joint effort of the Relay Team, the Marketplace team, the Mobile JS Platform team, and the React Native team, we cut Marketplace Time to Interaction (TTI) in half for Android [Year Class 2010-11 devices](https://code.facebook.com/posts/307478339448736/year-class-a-classification-system-for-android/). Facebook has historically considered these devices as low-end Android devices, and they have the slowest TTIs on any platform or device type. + +A typical React Native startup looks something like this: + +[![](/react-native/blog/img/RNPerformanceStartup.png)](/react-native/blog/img/RNPerformanceStartup.png) + +> Disclaimer: ratios aren't representative and will vary depending on how React Native is configured and used. + +We first initialize the React Native core (aka the “Bridge”) before running the product specific JavaScript which determines what native views React Native will render in the Native Processing Time. + +### A different approach + +One of the earlier mistakes that we made was to let [Systrace and CTScan](https://code.facebook.com/posts/747457662026706/performance-instrumentation-for-android-apps/) drive our performance efforts. These tools helped us find a lot of low-hanging fruit in 2016, but we discovered that both Systrace and CTScan are **not representative of production scenarios** and cannot emulate what happens in the wild. Ratios of time spent in the breakdowns are often incorrect and, wildly off-base at times. At the extreme, some things that we expected to take a few milliseconds actually take hundreds or thousands of milliseconds. That said, CTScan is useful and we've found it catches a third of regressions before they hit production. + +On Android, we attribute the shortcomings of these tools to the fact that 1) React Native is a multithreaded framework, 2) Marketplace is co-located with a multitude of complex views such as Newsfeed and other top-level tabs, and 3) computation times vary wildly. Thus, this half, we let production measurements and breakdowns drive almost all of our decision making and prioritization. + +### Down the path of production instrumentation + +Instrumenting production may sound simple on the surface, but it turned out to be quite a complex process. It took multiple iteration cycles of 2-3 weeks each; due to the latency of landing a commit in master, to pushing the app to the Play Store, to gathering sufficient production samples to have confidence in our work. Each iteration cycle involved discovering if our breakdowns were accurate, if they had the right level of granularity, and if they properly added up to the whole time span. We could not rely on alpha and beta releases because they are not representative of the general population. In essence, we very tediously built a very accurate production trace based on the aggregate of millions of samples. + +One of the reasons we meticulously verified that every millisecond in breakdowns properly added up to their parent metrics was that we realized early on there were gaps in our instrumentation. It turned out that our initial breakdowns did not account for stalls caused by thread jumps. Thread jumps themselves aren't expensive, but thread jumps to busy threads already doing work are very expensive. We eventually reproduced these blockages locally by sprinkling `Thread.sleep()` calls at the right moments, and we managed to fix them by: + +1. removing our dependency on AsyncTask, +2. undoing the forced initialization of ReactContext and NativeModules on the UI thread, and +3. removing the dependency on measuring the ReactRootView at initialization time. + +Together, removing these thread blockage issues reduced the startup time by over 25%. + +Production metrics also challenged some of our prior assumptions. For example, we used to pre-load many JavaScript modules on the startup path under the assumption that co-locating modules in one bundle would reduce their initialization cost. However, the cost of pre-loading and co-locating these modules far outweighed the benefits. By re-configuring our inline require blacklists and removing JavaScript modules from the startup path, we were able to avoid loading unnecessary modules such as Relay Classic (when only [Relay Modern](https://facebook.github.io/relay/docs/new-in-relay-modern.html) was necessary). Today, our `RUN_JS_BUNDLE` breakdown is over 75% faster. + +We also found wins by investigating product-specific native modules. For example, by lazily injecting a native module's dependencies, we reduced that native module's cost by 98%. By removing the contention of Marketplace startup with other products, we reduced startup by an equivalent interval. + +The best part is that many of these improvements are broadly applicable to all screens built with React Native. + +## Conclusion + +People assume that React Native startup performance problems are caused by JavaScript being slow or exceedingly high network times. While speeding up things like JavaScript would bring down TTI by a non-trivial sum, each of these contribute a much smaller percentage of TTI than was previously believed. + +The lesson so far has been to *measure, measure, measure!* Some wins come from moving run-time costs to build time, such as Relay Modern and [Lazy NativeModules](https://github.com/facebook/react-native/commit/797ca6c219b2a44f88f10c61d91e8cc21e2f306e). Other wins come from avoiding work by being smarter about parallelizing code or removing dead code. And some wins come from large architectural changes to React Native, such as cleaning up thread blockages. There is no grand solution to performance, and longer-term performance wins will come from incremental instrumentation and improvements. Do not let cognitive bias influence your decisions. Instead, carefully gather and interpret production data to guide future work. + +## Future plans + +In the long term, we want Marketplace TTI to be comparable to similar products built with Native, and, in general, have React Native performance on par with native performance. Further more, although this half we drastically reduced the bridge startup cost by about 80%, we plan to bring the cost of the React Native bridge close to zero via projects like [Prepack](https://prepack.io/) and more build time processing. + + diff --git a/blog/img/RNPerformanceStartup.png b/blog/img/RNPerformanceStartup.png new file mode 100644 index 0000000000000000000000000000000000000000..7f8381c694f7d12dd1e164b82a0173b53846009d GIT binary patch literal 63417 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�gK=CH0n=Wg1a+`kvc)gV`>g- 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