Skip to content

50ms GC loading Weather demo #3804

Closed
Closed

Description

@Hixie

This trace: #3082 (comment)
...includes a 46-54ms GC at t=87,611.486 ms.

cc @iposva-google

To reproduce, open the gallery app and run the Weather demo.

Activity

  1. added
    engineflutter/engine related. See also e: labels.
    c: performanceRelates to speed or footprint issues (see "perf:" labels)
    customer: galleryRelating to flutter/gallery repository. Please transfer non-framework issues there.
    on May 9, 2016
  2. added this to the milestone on May 9, 2016
  3. modified the milestones: Gallery App, on May 10, 2016
  4. eseidelGoogle commented on May 23, 2016

    @eseidelGoogle
    Contributor

    FYI @a-siva, happy to help someone who's interested in GC issues to repro.

  5. modified the milestones: Gallery App, on May 23, 2016
  6. rmacnak-google commented on May 25, 2016

    @rmacnak-google
    Contributor

    The longest GC I see running the gallery app on a Nexus 4 is 26 ms. With some extra timeline events, I see 18 ms of this is spent processing weak handles, with 952 of 1012 being finalized. How expensive is destructing Path, Picture, Paragraph, and friends?

  7. abarth commented on May 25, 2016

    @abarth
    Contributor

    They might be taking time. We can move them to a finalization queue and destruct them in small chunks. Most of them can be destructed on a background thread.

  8. eseidelGoogle commented on May 25, 2016

    @eseidelGoogle
    Contributor

    Sounds like we should check in these extra timeline events. :) Makes it clear when it's flutter's bug to fix :D

  9. abarth commented on May 25, 2016

    @abarth
    Contributor

    @rmacnak-google Let's chat tomorrow about how best to hand off the set of things that need finalization from the GC to the embedder.

  10. rmacnak-google commented on May 25, 2016

    @rmacnak-google
    Contributor

    Extra timeline events in dart-lang/sdk@18c87ab.

    Current thought is for the VM to invoke the finalizers on a background thread.

  11. eseidelGoogle commented on May 25, 2016

    @eseidelGoogle
    Contributor

    @chinmaygarde didn't we have a threading issue with finalizers before? Could this new proposal be an alternate solution?

  12. chinmaygarde commented on May 25, 2016

    @chinmaygarde
    Contributor

    @eseidel If you are referring to flutter-team-archive/engine@3a5dd866, that was just the modification of the reference count of the DartWrappable from any thread that was not the ui_thread. I believe this is a bit different.

  13. abarth commented on May 25, 2016

    @abarth
    Contributor

    @eseidelGoogle The solution for that issue is what makes this approach attractive for this issue. Given that we need to be prepared for finalizers to be called on any thread, the VM might as well call them on a background thread instead of the UI thread to avoid janking the UI thread.

  14. added a commit that references this issue on Jun 30, 2016
  15. eseidelGoogle commented on Jul 19, 2016

    @eseidelGoogle
    Contributor

    @abarth says this is solved.

  16. github-actions commented on Aug 15, 2021

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  17. locked as resolved and limited conversation to collaborators on Aug 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: performanceRelates to speed or footprint issues (see "perf:" labels)customer: galleryRelating to flutter/gallery repository. Please transfer non-framework issues there.dependency: dartDart team may need to help usengineflutter/engine related. See also e: labels.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions