Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@ When integrating any SDK into your Android application, understanding its perfor

## Performance impact benchmarks

### Android SDK

To simulate the typical usage of the Datadog SDK, it was integrated into the [Docile-Alligator/Infinity-For-Reddit][5] application and typical user behavior (in other words, scrolling the feed, browsing subreddits) was simulated.
To simulate the typical usage of the Datadog SDK, it was integrated into the [Docile-Alligator/Infinity-For-Reddit][3] application and typical user behavior (in other words, scrolling the feed, browsing subreddits) was simulated.

The following SDK modules were added to the application:

Expand All @@ -44,40 +42,16 @@ Below are the results of the measurements.

You can read the following [page][1] for more details about these benchmarks.

### iOS SDK

To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][6] application and typical user behavior (scrolling the feed, browsing reddits) was simulated.

The SDK features that were used:
1. Basic RUM instrumentation for tracking views, actions, and resources
2. Logging
3. Tracing

Below are the results of the measurements.

| Measurement | with SDK | without SDK |
|-------------------|---------------------------------|-------------|
| Peak CPU Usage | 44% | 40% |
| Peak Memory Usage | 72.4 MB | 67.96 MB |
| App startup time | 0.894 ms | 0.649 ms |
| Bundle size | 23.6 MB | 22.2 MB |
| Network usage | 21.88 KB sent, 1.68 KB received | n/a |

You can read the following [page][2] for more details about these benchmarks.

## Continuous benchmarks

Datadog has an internal infrastructure of continuous benchmarking. There is an internal set of UI tests that run on a special benchmark application for every change made to the SDK. This way Datadog is able to detect performance regression early to ensure that they are prevented from reaching production releases.

You can find the source code of the benchmark app here: [Android][3], [iOS][4].
You can find the source code of the benchmark app [here][2].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can find the source code of the benchmark app [here][2].
See the [benchmark app source code][2].


## Further Reading

{{< partial name="whats-next/whats-next.html" >}}

[1]: https://github.com/DataDog/dd-sdk-android/blob/develop/docs/sdk_performance.md
[2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md
[3]: https://github.com/DataDog/dd-sdk-android/tree/develop/sample/benchmark
[4]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests
[5]: https://github.com/Docile-Alligator/Infinity-For-Reddit
[6]: https://github.com/awkward/beam
[2]: https://github.com/DataDog/dd-sdk-android/tree/develop/sample/benchmark
[3]: https://github.com/Docile-Alligator/Infinity-For-Reddit
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: SDK Performance Impact
description: Learn about how the SDK impacts performance of your application.
aliases:
- /real_user_monitoring/mobile_and_tv_monitoring/ios/sdk_performance_impact
further_reading:
- link: https://github.com/DataDog/dd-sdk-ios
tag: "Source Code"
text: dd-sdk-ios Source code
- link: /real_user_monitoring
tag: Documentation
text: Explore Real User Monitoring
---

## Overview

When integrating any SDK into your iOS application, understanding its performance impact is crucial for maintaining a smooth user experience. The Datadog RUM SDK is designed with performance in mind and provides transparent measurements to help you make informed decisions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When integrating any SDK into your iOS application, understanding its performance impact is crucial for maintaining a smooth user experience. The Datadog RUM SDK is designed with performance in mind and provides transparent measurements to help you make informed decisions.
When integrating any SDK into your iOS application, understanding its performance impact is crucial for maintaining a smooth user experience. The Datadog RUM SDK is designed with minimal performance overhead. Use these benchmarks to evaluate whether the SDK fits your app's performance budget and plan your integration accordingly.


## Performance impact benchmarks

To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][3] application and typical user behavior (scrolling the feed, browsing reddits) was simulated.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][3] application and typical user behavior (scrolling the feed, browsing reddits) was simulated.
To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][1] application and typical user behavior (scrolling the feed, browsing subreddits) was simulated.


The SDK features that were used:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The SDK features that were used:
The SDK features used:

1. Basic RUM instrumentation for tracking views, actions, and resources
2. Logging
3. Tracing

Below are the results of the measurements.

| Measurement | with SDK | without SDK |
|-------------------|---------------------------------|-------------|
| Peak CPU Usage | 44% | 40% |
| Peak Memory Usage | 72.4 MB | 67.96 MB |
| App startup time | 0.894 ms | 0.649 ms |
| Bundle size | 23.6 MB | 22.2 MB |
| Network usage | 21.88 KB sent, 1.68 KB received | n/a |

You can read the following [page][1] for more details about these benchmarks.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can read the following [page][1] for more details about these benchmarks.
See the [SDK performance details on GitHub][2] for more information.


## Continuous benchmarks

Datadog has an internal infrastructure of continuous benchmarking. There is an internal set of UI tests that run on a special benchmark application for every change made to the SDK. This way Datadog is able to detect performance regression early to ensure that they are prevented from reaching production releases.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Datadog has an internal infrastructure of continuous benchmarking. There is an internal set of UI tests that run on a special benchmark application for every change made to the SDK. This way Datadog is able to detect performance regression early to ensure that they are prevented from reaching production releases.
Datadog has an internal infrastructure of continuous benchmarking. UI tests run automatically on a benchmark application for every SDK change. This enables Datadog to detect performance regressions early to ensure that they are prevented from reaching production releases.


You can find the source code of the benchmark app [here][2].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can find the source code of the benchmark app [here][2].
See the [benchmark app's source code on GitHub][3].


## Further Reading

{{< partial name="whats-next/whats-next.html" >}}

[2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md
[1]: https://github.com/awkward/beam

[4]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[4]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests
[2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md

[3]: https://github.com/awkward/beam
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[3]: https://github.com/awkward/beam
[3]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests

Loading