Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gjs gjs
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 117
    • Issues 117
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 19
    • Merge requests 19
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • gjsgjs
  • Issues
  • #62
Closed
Open
Issue created Jul 10, 2012 by Bugzilla@bugzilla-migration💬Reporter

Make GC much more aggressive

Submitted by Giovanni Campagna @gcampagna

Link to original bug (#679688)

Description

This is a follow up of bug 678504. Essentially, our current GC strategies tend to root much more than necessary, and this results in high memory consumption (if not outright leaks, like bug 679376). I prepared a series of patches that address this. I've been running them for a while, and didn't see regressions. They introduce a subtle API change, as callbacks become rooted to the object they're installed on, and thus become invalid if nothing keeps the object alive but the callback.

OTOH, it's yet to be proven that this patches are effective at reducing memory usage. Considering normal usage patterns, I saw little to no difference for gnome-shell (around 1000 objects in lg). I did observe a marked difference (up to 30/40 MB) in gnome-documents: memory is now correctly freed when closing a document. There are still leaks when opening and closing a collection, although that could be a lifetime issue in JS.

Depends on

  • Bug 678504
Assignee
Assign to
Time tracking