Hotstar Saurabh Kapoor

How Hotstar Prevents Performance Regressions on iOS Apps

Original post Preventing Performance Regressions on iOS Apps

Article Summary

JioHotstar was stuck in a frustrating cycle: fix performance issues, ship the update, watch them resurface weeks later. Sound familiar?

Saurabh Kapoor from JioHotstar shares how his team broke the performance regression cycle. They moved from reactive firefighting to proactive detection, testing performance changes before they reach millions of users.

Key Takeaways

Critical Insight

Automated performance testing using XCTest metrics and custom parsing caught regressions before users noticed, ending the fix and repeat cycle.

Continue reading

What This Article Covers

Problem

JioHotstar's initial xctrace approach created massive files that were hard to manage. A 20-second test generated 200MB of data, and longer tests reached several gigabytes. The traces were inconsistent and incomplete, which made it difficult to store the data and identify root causes.

Solution

The team switched to the XCTMetric framework and used specific metric types like XCTCPUMetric, XCTMemoryMetric, and XCTOSSignPostMetric. They built a custom parser with xcresulttool to pull metrics from xcresult files and establish performance baselines.

Impact

Enabling the enablePerformanceTestsDiagnostics flag in xcodebuild automatically generated memgraphs and ktrace files. These files gave developers detailed visibility into memory usage and performance events, making it easier to spot which code changes caused performance regressions.

The article reveals why their first automation approach with Instruments created more problems than it solved, and the surprising device requirement that blocked their initial tests.

This page summarizes “Preventing Performance Regressions on iOS Apps” by Hotstar, published Dec 12, 2025. All credit for the original work goes to the authors.

Read the original on blog.hotstar.com (opens in new tab)

AI tools for iOS

Browse all AI tools →