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

David Edmundson david at davidedmundson.co.uk
Mon Mar 3 19:52:47 UTC 2014


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

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/20140303/aa078c57/attachment.html>


More information about the Plasma-devel mailing list