Review Request 123341: Optimize reading Sonnet settings by minimizing the cals to save()
Kåre Särs
kare.sars at iki.fi
Sun Apr 12 17:57:51 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123341/
-----------------------------------------------------------
(Updated April 12, 2015, 5:57 p.m.)
Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.
Changes
-------
Add forgotten "return true"
Repository: sonnet
Description
-------
The curent implementation can causes ~25 cals to Settings::save() for every created Speller instance.
The Settings::restore() function ends with setQuietIgnoreList(...) which would call save() for evey ignore-word.
This patch removes the save() cals in the setFoo() functions of Settings and replace it by a boolean that indicates if the settign is changed or not. Then in the Speller class save() is called when needed.
The reason for this patch is that it took Kate ~2 minutes to open a kate session with ~340 files. The implementation in Kate called reload() for every file. There is a RR for Kate to remove that unneeded reload.
This patch also prepares Sonnet::Settings for being used in the public API to set aplication specific Sonnet settings without saving them in the global settings.
The Settings class is exported but the header is private. This change is BIC, but since the class is private, my interpretation is that it should not mater.
If accepted I will also add a Review Request to make the Settings class public to enable application specific settings.
Diffs (updated)
-----
src/core/settings.cpp b5c4198
src/core/settings_p.h 0d48889
src/core/speller.cpp 3903b42
src/ui/configwidget.cpp 02f2a26
Diff: https://git.reviewboard.kde.org/r/123341/diff/
Testing
-------
Tested with Kate and with the patch the startup time was back to "normal". No test cases :(
Thanks,
Kåre Särs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150412/dbd46f77/attachment.html>
More information about the Kde-frameworks-devel
mailing list