Skip to content

[Tracking] Performance improvements #4168

@sis0k0

Description

@sis0k0
  • Profile hello-ng app in iOS with webinspector.
  • Profile Angular renderer.
  • Profile Android runtime performance.
  • Profile app.css (with theme) performance.
  • Experiment with rollup
  • Implement suspend native updates - use them in angular
  • Android GC hits ~500ms. on Angular apps
  • Android runtime. Don't attach all methods/properties for proxy objects on init. Instead generate them when they are first accesses. Android GC MarkReachableObjects is slow #4597
  • Android runtime. Use hash-maps instead of arrays to store methods.
  • iOS runtime. Debug build on device wait 500ms for JS debugger.
  • iOS runtime. Debug build on device spends 300ms on startup doing live sync initialization.

Benchmarks for start-up time with an old Android phone (API lvl 19):

theme NO theme DIFF (theme vs NO theme)
debug 8.1096 sec 8.028 sec +0.0816 sec
webpack + AoT + uglify 3.2703 sec 3.1973 sec +0.073 sec

Possible improvements:

  • Set app.css as styleUrl to the root component with ViewEncapsulation.None.
    We'll call addCss in the renderer anyway. The benchmarks showed that the results for app start-up are the same.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions