Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-26761] iOS: Checking every single file modification makes larger apps really slow

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionDuplicate
Resolution Date2019-07-26T11:45:06.000+0000
Affected Version/sRelease 6.2.1, Release 8.0.0, Release 7.5.0
Fix Version/sn/a
ComponentsiOS
Labelsalloy, build-time, engSchedule, ios
ReporterHans Knöchel
AssigneeAlan Hutton
Created2019-01-23T17:32:05.000+0000
Updated2019-07-26T11:45:06.000+0000

Description

This one is no regression and was likely never considered as a bug, but it's quite simple: When re-building an iOS app - even without any change, the build takes like 20seconds. Ruffly 10 seconds of that are caused by a "build state check" that validated *every* single file to see if it changed, causing thousands of logs in larger projects like ours. A simple way to fix this would be to not check every file, but curate a blacklist of changed files that can be compared (like with a hash). If I remember correctly, something very similar is already done for Hyperloop right now. Example of this log:
[TRACE] No change, skipping /Users/hans/Documents/dev/myapp/myapp-titanium/build/iphone/build/Products/Debug-iphonesimulator/MyApp.app/node_modules/date-fns/is_today/index.js
Only partly related: The same can be applied to Alloy, where the "alloy compile" command is executed on every incremental build, even if no files change. There is a command for conditional Alloy compiling which LiveView also use, so Alloy should make use of it internally as well.

Comments

  1. Jan Vennemann 2019-07-26

    Closing as this was addressed in TIMOB-27043

JSON Source