Review Request 116577: Call malloc_trim() when deleting a dialog

David Edmundson david at davidedmundson.co.uk
Mon Aug 31 10:45:12 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/116577/
-----------------------------------------------------------

(Updated Aug. 31, 2015, 10:45 a.m.)


Status
------

This change has been discarded.


Review request for Plasma.


Repository: plasma-framework


Description
-------

Call malloc_trim() when deleting a dialog

A dialog will typically contain lots and lots of tiny objects.

Tiny mallocs are not returned to the system immediately and are left for
us to re-use.

When we delete a dialog it would be a good time to release these.

This fixes the memory growth when repeatedly opening and closing the
widget explorer.

TBH: I don't /fully/ understand malloc_trim, but it does seem this patch makes a difference.

Also I think maybe this would be better being in the destructor of KDeclatarive::QMLObject as well?
or maybe we should tune the malloc options so it behaves better in general.


Diffs
-----

  src/declarativeimports/core/dialog.cpp 61e8d93 

Diff: https://git.reviewboard.kde.org/r/116577/diff/


Testing
-------

The following test (courtesy of Martin K) http://paste.kde.org/pjreffopt creates 10 dialogs, waits 5 seconds and deletes them.

Before: Memory usage in ksysguard goes up to 125Mb and stays there indefinitely.
After:Memory usage in ksysguard goes up to 125Mb and when the dialogs are removed goes back down to 35Mb


Thanks,

David Edmundson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150831/0f4d4de0/attachment.html>


More information about the Plasma-devel mailing list