Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS Parallel build tweak #10236

Merged
merged 4 commits into from
Aug 7, 2018
Merged

iOS Parallel build tweak #10236

merged 4 commits into from
Aug 7, 2018

Conversation

sgtcoolguy
Copy link
Contributor

I did some local timings for iOS build. The slowest part is clearly the xcodebuild invocation. I think moving to pre-compiled frameworks may be able to help speed that up somewhat.

However, I did see that producing the logo set and copying JS files were being run in series when they could be run in parallel (and those two are the other largest chunks of time in our build).

So here are my totally unscientific timings here on clean builds of the mocha test app:

master: 35-38s
next: 30-31s
next w/ framework (#10218): 27-31s
next w/ parallel-build (this PR): 24-29s
next w/ framework & parallel-build: 22-23s

Specifically this PR tries to run writing the app props, handling JS files, copying CSS files and handling the images/resource files in parallel now (where before we ran it all in series).
We still run the image manipulations/functions and copying resources in series. The big win here is running all of that in parallel with the JS file copying/parsing/writing as we shave off a few valuable seconds.

@build
Copy link
Contributor

build commented Aug 6, 2018

Warnings
⚠️

There is no linked JIRA ticket in the PR body. Please include the URL of the relevant JIRA ticket. If you need to, you may file a ticket on JIRA

Messages
📖

👍 Hey!, You deleted more code than you added. That's awesome!

📖

💾 Here's the generated SDK zipfile.

Generated by 🚫 dangerJS

Copy link
Contributor

@cb1kenobi cb1kenobi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR'd and looks good. The iOS build is just begging to be async/await'd.

@hansemannn
Copy link
Collaborator

The improvements are massive, wow! One thing that always takes like 5-6 seconds is that when we use appc xxxx, it checks all entitlements before even doing anything else. We should check that in the background and let the build proceed to not block them for e-v-e-r-y build. It's also the main reason I prefer the ti CLI for all sim-builds.

@cb1kenobi
Copy link
Contributor

@hansemannn It only checks entitlements once a day. Once that's done, the Appc CLI adds a few seconds of overhead on top of the Titanium CLI, most of which is file I/O (require() calls, config files, etc).

@sgtcoolguy sgtcoolguy merged commit 7db0202 into tidev:next Aug 7, 2018
@sgtcoolguy sgtcoolguy deleted the parallel-build branch August 7, 2018 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants