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

Huge performance improvement #187

Merged
merged 2 commits into from
Mar 2, 2014
Merged

Conversation

sergiou87
Copy link
Contributor

This patch uses the definition cache while the assembly is populating it.

The problem was that in a given assembly you may have two definitions, say A and B, where B depends on A. Instead of processing A definition and then share it with B, it's built twice: one for A definition itself, and another for B definition's dependency.

Therefore, we can see that the Assembly is traversing not only the whole object graph (that's necessary) but also all the subgraphs, building all definitions it finds along the way.

With this patch my app (~400 classes) went from:

  • Launch time: 30 seconds
  • Initial memory footprint: 90MB

to:

  • Launch time: 0.045 seconds (667x faster)
  • Initial memory footprint: 15MB (6x lower)

@sergiou87
Copy link
Contributor Author

The current performance in the 1.8 version is a HUGE problem for my team to work in our app (long development times, and we cannot deploy in a device because iOS kills the app due to its long launch time).

Is there any possibility to release a 1.8.1 version with this very same patch so that we don't have to point our Podfiles to my fork until this patch is released?

Thank you in advance!

jasperblues added a commit that referenced this pull request Mar 2, 2014
Huge performance improvement
@jasperblues jasperblues merged commit 3b1dc4a into appsquickly:master Mar 2, 2014
@jasperblues
Copy link
Member

Great work @sergiou87 . . publishing Typhoon 1.8.1

@sergiou87
Copy link
Contributor Author

Thank you very much @jasperblues !! Really glad to contribute :D

@jasperblues
Copy link
Member

If you have other ideas, @sergiou87, we'd love to hear about them.

@nunofgs
Copy link

nunofgs commented Mar 3, 2014

I was pleasantly surprised to update my Podfile today. I'm seeing a huge memory improvement as well as noticeably faster launch times.

Thank you @sergiou87.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants