Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-26761

iOS: Checking every single file modification makes larger apps really slow

    Details

    • Type: Bug
    • Status: Closed
    • Priority: High
    • Resolution: Duplicate
    • Affects Version/s: Release 6.2.1, Release 8.0.0, Release 7.5.0
    • Fix Version/s: None
    • Component/s: iOS

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ahutton Alan Hutton
                Reporter:
                hknoechel Hans Knöchel
              • Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Titanium SDK/CLI <> Titanium Mobile
                    Synced with:
                    TIMOB-6852
                    Sync status:
                    PENDING
                    Last sent:

                    Git Source Code