<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/127765/">https://git.reviewboard.kde.org/r/127765/</a>
</td>
</tr>
</table>
<br />
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">+1 on the concept. Making things faster for everyone for free is good by me. But, since it is an optimization we just need to make sure it doesn't regress KConfig. Albert's point about caching even with changes definitely needs fixing (I don't think a stat call here should negatively affect anything), and I won't be able to review this properly until this weekend. So this isn't a shipit yet, but I definitely want it in.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">One thing to look at, could this be extended to all config files? So if someone just keeps opening the same config, there is less of a penalty? If not, that's fine. Ideally they wouldn't do that in the first place anyways.</p></pre>
<br />
<p>- Matthew Dawson</p>
<br />
<p>On April 27th, 2016, 12:14 p.m. EDT, Aleix Pol Gonzalez wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDE Frameworks and Matthew Dawson.</div>
<div>By Aleix Pol Gonzalez.</div>
<p style="color: grey;"><i>Updated April 27, 2016, 12:14 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kconfig
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">A next step for my little quest is improving KConfig impact upon start.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In callgrind terms, 20% of dolphin's startup time is KConfig and 15% is parsing global files, which is essentially loading kdeglobals 70 times. This of course also means that kdeglobals is scattered 70 times in each application's memory space.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To improve such situation, here's an attempt to cache these. I'm not an expert in KConfig, so feedback is really appreciated <a href="http://i1.kym-cdn.com/photos/images/facebook/000/234/765/b7e.jpg" style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">[1]</a></p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Tests pass, KConfig becomes 6% of dolphin at load.</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>src/core/kconfig.cpp <span style="color: grey">(ad52da9)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/127765/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>