<!--
{
  "documentType" : "article",
  "framework" : "Xcode",
  "identifier" : "/documentation/Xcode/performance-and-metrics",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Performance and metrics"
}
-->

# Performance and metrics

Measure, investigate, and address the use of system resources and issues impacting performance using Instruments and Xcode Organizer.

## Topics

### Essentials

[Improving your app’s performance](/documentation/Xcode/improving-your-app-s-performance)

Model, measure, and boost the performance of your app by using a continuous-improvement
cycle.

  <doc://com.apple.documentation/tutorials/instruments>

[Analyzing the performance of your shipping app](/documentation/Xcode/analyzing-the-performance-of-your-shipping-app)

View power and performance metrics for apps you distribute through the App
Store.

  <doc://com.apple.documentation/documentation/visionOS/creating-a-performance-plan-for-visionos-app>

### Responsiveness

[Analyzing responsiveness issues in your shipping app](/documentation/Xcode/analyzing-responsiveness-issues-in-your-shipping-app)

Identify responsiveness issues your users encounter, and use the hang and hitch data in Xcode Organizer to determine which issues are most important to fix.

[Improving app responsiveness](/documentation/Xcode/improving-app-responsiveness)

Create a user experience that feels responsive by removing hangs and hitches from your app.

[Understanding user interface responsiveness](/documentation/Xcode/understanding-user-interface-responsiveness)

Make your app more responsive by examining the event-handling and rendering loop.

[Understanding and improving SwiftUI performance](/documentation/Xcode/understanding-and-improving-swiftui-performance)

Identify and address long-running view updates, and reduce the frequency of updates.

[Understanding hangs in your app](/documentation/Xcode/understanding-hangs-in-your-app)

Determine the cause for delays in user interactions by examining the main thread and the main run loop.

[Understanding hitches in your app](/documentation/Xcode/understanding-hitches-in-your-app)

Determine the cause of interruptions in motion by examining the render loop.

[Diagnosing performance issues early](/documentation/Xcode/diagnosing-performance-issues-early)

Diagnose potential performance issues in your app during development and testing with the Thread Performance Checker tool in Xcode.

[Reducing your app’s launch time](/documentation/Xcode/reducing-your-app-s-launch-time)

Create a more responsive experience with your app by minimizing time spent in startup.

[Reducing terminations in your app](/documentation/Xcode/reduce-terminations-in-your-app)

Minimize how frequently the system stops your app by addressing common termination reasons.

### Processor usage

[Addressing CPU bottlenecks](/documentation/Xcode/addressing-cpu-bottlenecks)

Locate and fix pipeline stalls, cache misses, and other performance issues.

[Analyzing CPU usage with the Processor Trace instrument](/documentation/Xcode/analyzing-cpu-usage-with-processor-trace)

Identify code where your app uses the CPU inefficiently.

[Analyzing CPU profiles with call tree views](/documentation/Xcode/analyzing-cpu-profiles-with-call-tree-views)

Use call tree visualizations to find performance bottlenecks in Instruments.

### Memory and size

[Reducing your app’s memory use](/documentation/Xcode/reducing-your-app-s-memory-use)

Improve your app’s performance by analyzing memory-use metrics and making changes
to maximize memory efficiency.

[Reducing your app’s size](/documentation/Xcode/reducing-your-app-s-size)

Measure your app’s size, optimize its assets and settings, and adopt technologies
that help streamline installation over a mobile internet connection.

### Graphics

[Analyzing the performance of your Metal app](/documentation/Xcode/Analyzing-the-performance-of-your-Metal-app)

Ensure consistent, smooth rendering by profiling your app’s frame time.

[Analyzing the memory usage of your Metal app](/documentation/Xcode/Analyzing-the-memory-usage-of-your-Metal-app)

Keep your app alive in the background by managing its memory footprint.

### Power

[Analyzing your app’s battery use](/documentation/Xcode/analyzing-your-app-s-battery-use)

Increase the available use time for your app on a single battery charge by reducing
your appʼs power consumption.

[Measuring your app’s power use with Power Profiler](/documentation/Xcode/measuring-your-app-s-power-use-with-power-profiler)

Profile your app’s power impact whether or not your device is connected to Xcode.

[Reducing your app’s battery use](/documentation/Xcode/reducing-your-app-s-battery-use)

Adopt design principles and recommended APIs to consume less power.

### Disk usage

[Reducing disk writes](/documentation/Xcode/reducing-disk-writes)

Improve your app’s responsiveness by optimizing how it writes data to permanent storage.

[Reducing your app’s disk usage](/documentation/Xcode/reducing-your-app-s-disk-usage)

Measure and minimize the space your app uses to store its files.

[Monitoring your app’s storage metrics](/documentation/Xcode/monitoring-your-app-s-storage-metrics)

Track your app’s storage footprint over time using Xcode Organizer to catch regressions in Documents & Data and App Size.

### Network

  <doc://com.apple.documentation/documentation/Foundation/analyzing-http-traffic-with-instruments>

### Custom instruments

[Creating custom modelers for intelligent instruments](/documentation/Xcode/creating-custom-modelers-for-intelligent-instruments)

Create Custom Modelers with the CLIPS language and learn how the embedded rules engine works.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)