Skip to content
This repository has been archived by the owner on Jun 7, 2020. It is now read-only.

[IMPROVEMENT] Improving project build time #1440

Merged
merged 4 commits into from Mar 28, 2018

Conversation

Sameesunkaria
Copy link
Collaborator

@Sameesunkaria Sameesunkaria commented Mar 27, 2018

@RocketChat/ios

Emojis have been moved out of the swift struct to a JSON file. And the all variable in Emojione has been changed to a constant with a closure for initialization. The result for all is now calculated differently.

The swift compiler code generation for optimization has been changed to, no optimization on debug builds and safety checks have been disabled for debug builds.

The Emojione should compile a lot faster. Also, after some testing, I'm fairly positive that these changes no not measurably impact the performance of the app on runtime.

I was able to get the build time to about 30 seconds (MacBook Air) on incremental builds.

For Reviewers: Test the incremental build time. Should be substantially better.

P.S. Huge props to Robert Gummesson for their BuildTimeAnalyzer https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode

Closes #1435

@Sameesunkaria Sameesunkaria changed the title [IMPROVEMENT] Reducing project build time [IMPROVEMENT] Improving project build time Mar 27, 2018
@rafaelks rafaelks added this to the 2.2.0 milestone Mar 27, 2018
@codecov
Copy link

codecov bot commented Mar 27, 2018

Codecov Report

Merging #1440 into develop will increase coverage by 0.01%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1440      +/-   ##
===========================================
+ Coverage    25.56%   25.57%   +0.01%     
===========================================
  Files          236      236              
  Lines        12089    12083       -6     
===========================================
  Hits          3090     3090              
+ Misses        8999     8993       -6
Impacted Files Coverage Δ
Rocket.Chat/External/RCEmojiKit/Emojione.swift 0% <ø> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a924a17...26aa085. Read the comment docs.

@rafaelks rafaelks added this to In progress (by contributor) in Cycle 03: 03/05 ~ 03/27 Mar 27, 2018
Copy link
Collaborator

@filipealva filipealva left a comment

Choose a reason for hiding this comment

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

@Sameesunkaria It's looking awesome! It will improve our productivity a lot. The incremental build is unbelievably fast.

Thank you!

Copy link
Collaborator

@cardoso cardoso left a comment

Choose a reason for hiding this comment

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

LGTM! ✅

@cardoso cardoso merged commit 679e8af into RocketChat:develop Mar 28, 2018
Cycle 03: 03/05 ~ 03/27 automation moved this from In progress (by contributor) to Done Mar 28, 2018
@rafaelks rafaelks modified the milestones: 2.2.0, 2.1.0 Mar 28, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

4 participants