Compare

Emerge's UX enables easy build to build comparisons

Size Analysis Comparisons

Our standard Size Analysis Comparisons that are triggered from our UI are as follows for each platform:

If you are using the table view on the compare page, you might have noticed a row at the bottom called "Other" and wondered what exactly that represented.

The Other row represents size change in your app that Emerge wasn't able to attribute. There a few cases where this can happen. The following items represent the most common and significant causes for unattributed size change.

200 item UI limit

Emerge limits the number of rows in the compare page UI to 200 items. If there are more than 200 rows, the smallest changes will be dropped and their cumulative size change will be added to the Other row.

Binary data

Some apps include Binary data that isn't possible to attribute. For example, many apps (both iOS and Android) include compiled C libraries. If these libraries change (perhaps due to an update), then we may be unable to attribute that change to any particular file or location. In this case, the size change will be added to the Other row.

Compilation jitter

There are a number of causes for size of apps changing slightly due to compilation artifacts. For example, many build processes use hashes or dates in generated filenames. These changing hashes may result in some changes of size even for binaries generated from identical source code.

Emerge will filter out size changes below 500 bytes to any single attributable unit (typically file-esque objects). The sum of these small changes will instead be represented in the Other row.

Performance Analysis Comparisons

Our standard Performance Analysis Comparisons that are triggered from our UI are as follows for each platform:

  • On iOS Emerge uses didFinishLaunching
  • On Android, Emerge records startup times by default from the start of your app's process to the end of the first frame rendering

On each platform you can also upload test bundles which can include custom tests and also be triggered via the compare page, read more about how to set up custom tests on iOS and Android.