WhoBuilt

DMAIC - The Smooth Lift-off in Optimizing

Apr 9, 2024· 4 min· 1.2K views·Watch on YouTube

Speaker

Szymon Rybczak, a software engineer at Callstack, explains how to apply the DMAIC process to optimizing React Native apps in the first episode of React Native Optimization Shorts.

Define the optimization goal

DMAIC stands for Define, Measure, Analyze, Improve, and Control. Rybczak recommends first clarifying the desired outcome, the client’s goals, and user complaints, then prioritizing the pain points.

Measure in release mode

Choose a metric that reflects the problem, such as app start time or time to interact, and measure it properly. Test in Release mode because Development mode adds JavaScript work for warnings and error messages.

Find the root cause

Use tools suited to the problem, such as Native Debugger, Hermes stack traces, or Flipper. Rybczak points to Callstack’s guide for more detail on their use cases and trade-offs.

Improve and control performance

Once the cause is known, replace slower solutions or optimize functions that slow the app. Keep tracking the metric as new features and code are added; Reassure is one option for measuring React component performance regressions.

Takeaways

  • Set a clear optimization goal and prioritize it against client needs and user complaints.
  • Choose a metric that matches the problem before making changes.
  • Measure React Native performance in Release mode for a more representative result.
  • Use debugging tools to investigate root causes before changing code.
  • Track performance over time so new code does not erode improvements.

Mentioned in this talk

Search inside this talk

What was claimed 3

Related talks

DMAIC - The Smooth Lift-off in Optimizing, Szymon Rybczak · WhoBuilt