Device-specific builds were originally implemented for two reasons:
- Building for a single architecture when we knew which device the app was going to be installed on (for example: there's no reason to build for armv7 if the app will be installed on an arm64 device).
- Speed up resource compilation a bit by filtering resource compilation to the target device.
However, the first reason is not applicable anymore (arm64 is the only architecture).
The support for device-specific builds also has a few downsides:
- It complicates our code.
- It increases the path length of the contents in the bin directory, which can be a problem for Windows (due to MAX_PATH limitations).
So the question remains: is the resource compilation build speed decrease worth it for the downsides?
One option could be to disable it by default + add telemetry, and if nobody complains + telemetry shows nobody turns it back on again, then we can remove it.
CC @emaf @mauroa @dalexsoto
Device-specific builds were originally implemented for two reasons:
However, the first reason is not applicable anymore (arm64 is the only architecture).
The support for device-specific builds also has a few downsides:
So the question remains: is the resource compilation build speed decrease worth it for the downsides?
One option could be to disable it by default + add telemetry, and if nobody complains + telemetry shows nobody turns it back on again, then we can remove it.
CC @emaf @mauroa @dalexsoto