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