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

iOS: App builds containing large amounts of JS files are extremely slow


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


      Our CLI builds process JS files in series, and differ between platforms versus how they compare the contents to determine how to proceed.

      Both platforms read in the source JS file and transpile it.

      iOS then does a check for the destination path to see if it exists, and if so to read that in and compare versus the transpiled contents. If they differ, it writes it out.

      Android checks the original source against the transpired. If they don't differ and we're on MacOS/Linux we symlink the original src file. Otherwise, we write the new contents out.

      The Android approach appears to be significantly faster, though it's unclear if either approach is "correct". Ideally we'd do a little of both - symlink when transpilation does not affect the source, don't write to destination file if we'd just be writing the same contents, etc. Fixing all of that logic properly is. larger task...

      But, moving to processing the JS files in parallel has significant performance gains on iOS in particular.


          Issue Links



              • Assignee:
                cwilliams Christopher Williams
                hknoechel Hans Knöchel
              • Watchers:
                2 Start watching this issue


                • Created:

                  Backbone Issue Sync

                  • Titanium SDK/CLI <> Titanium Mobile
                    Synced with:
                    Sync status:
                    Last received:
                    Last sent:

                    Git Integration