<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kconfig.git/src/core, branch v5.0.0-rc1</title>
<subtitle>hurd kconfig.git</subtitle>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/'/>
<entry>
<title>KSharedConfig: move mainConfig and wasTestEnabled to the thread storage.</title>
<updated>2014-07-01T08:26:54+00:00</updated>
<author>
<name>David Faure</name>
<email>faure@kde.org</email>
</author>
<published>2014-06-27T22:19:31+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=054d849879647fd4cf90c4f622877d3a11720bb2'/>
<id>054d849879647fd4cf90c4f622877d3a11720bb2</id>
<content type='text'>
This enables the mainConfig optimization in all threads,
and ensures the user warning only happens in the main thread.

The test-mode-enabled logic is only really useful in the main thread,
but it's simpler to just do it in all threads.

REVIEW: 118985
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This enables the mainConfig optimization in all threads,
and ensures the user warning only happens in the main thread.

The test-mode-enabled logic is only really useful in the main thread,
but it's simpler to just do it in all threads.

REVIEW: 118985
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix data race on static int.</title>
<updated>2014-06-27T22:10:51+00:00</updated>
<author>
<name>David Faure</name>
<email>faure@kde.org</email>
</author>
<published>2014-06-27T22:10:51+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=c77261ee218f2364fff3d2dc97d6cbaa862ba69d'/>
<id>c77261ee218f2364fff3d2dc97d6cbaa862ba69d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SVN_SILENT made messages (.desktop file)</title>
<updated>2014-06-23T08:35:21+00:00</updated>
<author>
<name>l10n daemon script</name>
<email>scripty@kde.org</email>
</author>
<published>2014-06-23T08:35:21+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=bcac505588d8e14817aeede8b2f21be6cbe4da34'/>
<id>bcac505588d8e14817aeede8b2f21be6cbe4da34</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make KSharedConfig thread-safe</title>
<updated>2014-06-22T08:32:57+00:00</updated>
<author>
<name>David Faure</name>
<email>faure@kde.org</email>
</author>
<published>2014-06-14T09:18:26+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=fdbcede38d1226b6dcfcf7dbebaecffcb0e962d5'/>
<id>fdbcede38d1226b6dcfcf7dbebaecffcb0e962d5</id>
<content type='text'>
... by having a different list of shareable objects per thread.

REVIEW: 118739
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... by having a different list of shareable objects per thread.

REVIEW: 118739
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix reading of entries for language/country combinations</title>
<updated>2014-06-21T05:41:18+00:00</updated>
<author>
<name>Martin Gräßlin</name>
<email>mgraesslin@kde.org</email>
</author>
<published>2014-06-12T09:30:24+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=a52b00f31eb5df1cd603975bdd31794233898a59'/>
<id>a52b00f31eb5df1cd603975bdd31794233898a59</id>
<content type='text'>
This fixes a regression introduced in
988f09bb051dca0437ecec431ee44ed5b4a560d8.

The mentioned commit ensures that if the locale is e.g. "de_DE" the
entry "de" will be used. But this breaks if there is a translation
for another country. E.g. for "de_CH" it would also pick the "de"
entry.

This change now operates on both just the language code and the locale.
If an entry with the language code is present it will be picked. If
another entry with the exact locale is found it will be overwritten.
Modifiers are not supported as this is currently missing in QLocale.

REVIEW: 118692
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a regression introduced in
988f09bb051dca0437ecec431ee44ed5b4a560d8.

The mentioned commit ensures that if the locale is e.g. "de_DE" the
entry "de" will be used. But this breaks if there is a translation
for another country. E.g. for "de_CH" it would also pick the "de"
entry.

This change now operates on both just the language code and the locale.
If an entry with the language code is present it will be picked. If
another entry with the exact locale is found it will be overwritten.
Modifiers are not supported as this is currently missing in QLocale.

REVIEW: 118692
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize KConfigIniBackend::parseConfig by reducing allocations.</title>
<updated>2014-06-19T10:21:41+00:00</updated>
<author>
<name>Milian Wolff</name>
<email>mail@milianw.de</email>
</author>
<published>2014-06-19T10:21:41+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=9aeacb07b1169fa3dc9b7653e8f30070a91569d5'/>
<id>9aeacb07b1169fa3dc9b7653e8f30070a91569d5</id>
<content type='text'>
Yet another awesome application of the Qt implicit sharing trick.
Since config files often contain only few different keys and even
value strings, we can share them. This reduces memory consumption
and also speeds up parsing, as we do not have to allocate the
duplicated strings, but can simply reuse the previous values.

The most extreme case for this of my knowledge, is KatePart:
katesyntaxhighlightingrc has more than 20k lines which triggered
nearly 30k allocations on startup. With this patch applied, this
value goes down dramatically. I added a simple static counter for
the cache hit/miss ratio, which resulted in 5442 cache misses compared
to 43624 cache hits across all KConfig files parsed by kwrite.

REVIEW: 118587

This is a forward-port of b8aaeff128233cfaecf67899168887572589dde8.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Yet another awesome application of the Qt implicit sharing trick.
Since config files often contain only few different keys and even
value strings, we can share them. This reduces memory consumption
and also speeds up parsing, as we do not have to allocate the
duplicated strings, but can simply reuse the previous values.

The most extreme case for this of my knowledge, is KatePart:
katesyntaxhighlightingrc has more than 20k lines which triggered
nearly 30k allocations on startup. With this patch applied, this
value goes down dramatically. I added a simple static counter for
the cache hit/miss ratio, which resulted in 5442 cache misses compared
to 43624 cache hits across all KConfig files parsed by kwrite.

REVIEW: 118587

This is a forward-port of b8aaeff128233cfaecf67899168887572589dde8.
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize KConfigGroup::exists and similar operations.</title>
<updated>2014-06-18T11:57:35+00:00</updated>
<author>
<name>Milian Wolff</name>
<email>mail@milianw.de</email>
</author>
<published>2014-06-18T11:57:35+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=9a5d6523689067a9cde717a8f375d4eca246b119'/>
<id>9a5d6523689067a9cde717a8f375d4eca246b119</id>
<content type='text'>
Before, these kind of read-only operations did a lot of allocations:

1) allocate a list of all sub groups
2) for the above, also allocate a sub-group match key
3) iterate over sub groups, allocate a list of all keys in there
and then finally check whether that list is non-empty

All of the above is now done without a single allocation, by simply
iterating over the list of entries.

Note: The whole list was iterated even before in allSubGroups. Now
we still do that, but check for non-empty keys in the group or
sub group directly. Much more efficient.

Note2: While at it, allSubGroups is also optimized to not require the
allocation of the subgroup match key.

REVIEW: 118586

forward-port of commit eaffd50adfd7fcbeafadb0248904176808b4499d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before, these kind of read-only operations did a lot of allocations:

1) allocate a list of all sub groups
2) for the above, also allocate a sub-group match key
3) iterate over sub groups, allocate a list of all keys in there
and then finally check whether that list is non-empty

All of the above is now done without a single allocation, by simply
iterating over the list of entries.

Note: The whole list was iterated even before in allSubGroups. Now
we still do that, but check for non-empty keys in the group or
sub group directly. Much more efficient.

Note2: While at it, allSubGroups is also optimized to not require the
allocation of the subgroup match key.

REVIEW: 118586

forward-port of commit eaffd50adfd7fcbeafadb0248904176808b4499d
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove duplicate comparison against group.</title>
<updated>2014-06-18T11:56:10+00:00</updated>
<author>
<name>Milian Wolff</name>
<email>mail@milianw.de</email>
</author>
<published>2014-06-18T11:56:10+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=474fcb9b379d392f44ef80380a7ac1b908965112'/>
<id>474fcb9b379d392f44ef80380a7ac1b908965112</id>
<content type='text'>
forward-port of commit 416559cdb86f9cacf4ea4ed7530cbbbdb427302f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
forward-port of commit 416559cdb86f9cacf4ea4ed7530cbbbdb427302f
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix locale-aware reading in KDesktopFile</title>
<updated>2014-06-12T22:48:21+00:00</updated>
<author>
<name>Martin Gräßlin</name>
<email>mgraesslin@kde.org</email>
</author>
<published>2014-06-05T12:05:44+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=69c203156d21385a8c263096cb35600e85a5c604'/>
<id>69c203156d21385a8c263096cb35600e85a5c604</id>
<content type='text'>
The underlying KConfig used QLocale::name() for getting the locale
aware part. But this returns "de_DE" while the desktop files store
"de".

In addition it constructs a QLocale object instead of using the
system locale. This has the advantage that the usage of
QLocale::setDafault() gets honored by KConfig.

REVIEW: 118564
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The underlying KConfig used QLocale::name() for getting the locale
aware part. But this returns "de_DE" while the desktop files store
"de".

In addition it constructs a QLocale object instead of using the
system locale. This has the advantage that the usage of
QLocale::setDafault() gets honored by KConfig.

REVIEW: 118564
</pre>
</div>
</content>
</entry>
<entry>
<title>Simple Cleanups</title>
<updated>2014-06-12T22:14:16+00:00</updated>
<author>
<name>Thomas Braxton</name>
<email>kde.braxton@gmail.com</email>
</author>
<published>2014-06-11T13:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://dynamicmalloc.com/cgit/kconfig.git/commit/?id=ac6703215ba5e152379173ba503f5ba3bd7e8a85'/>
<id>ac6703215ba5e152379173ba503f5ba3bd7e8a85</id>
<content type='text'>
- use Q_NULLPTR instead of 0 or NULL
- simplify some foreach loops
- use QStringLiteral in a few places
- added a few consts

REVIEW: 118666
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- use Q_NULLPTR instead of 0 or NULL
- simplify some foreach loops
- use QStringLiteral in a few places
- added a few consts

REVIEW: 118666
</pre>
</div>
</content>
</entry>
</feed>
