Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-63067 Performance and memory consumption improvements for QtQml
  3. QTBUG-64575

Reduce GC heap fragmentation overhead by decommitting free pages

    XMLWordPrintable

Details

    Description

      In our garbage collector it may happen that a memory chunk cannot be decommitted entirely because for example one persistent JS object prevents us. However we could still decommit the page ranges in the chunk that are free (MADV_DONTNEED) on operating systems (Linux, Windows) where we know for sure that subsequent page access will see zeroed pages.

      The use of MADV_DONTNEED will preserve the address space reservation, but it does allow for the underlying pages to be released. That can be a good strategy to reduce the overhead of fragmentation. malloc_trim() in glibc apparently deploys the same strategy for the C runtime heap.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            shausman Simon Hausmann
            shausman Simon Hausmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes