<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/kconfiglib.py, branch v10.30.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.30.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.30.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-12-01T16:29:29Z</updated>
<entry>
<title>Flag removed symbols as changed in sync_deps()</title>
<updated>2018-12-01T16:29:29Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-12-01T16:15:49Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=a4751b5d94e713b2206889a4aab54388df1ca33f'/>
<id>urn:sha1:a4751b5d94e713b2206889a4aab54388df1ca33f</id>
<content type='text'>
If a symbol is removed from a Kconfig file, it makes sense to flag it as
changed, so that things that still (probably accidentally) depend on it
get rebuilt.

Saw a patch for the C tools with the same effect floating around, so
might as well add it already. The C tools had other brokeness as well
though...
</content>
</entry>
<entry>
<title>Tighten up help text parsing</title>
<updated>2018-12-01T13:17:38Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-12-01T11:12:29Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=a8d378d5fc027fef9d884bd4d89d5ca726383146'/>
<id>urn:sha1:a8d378d5fc027fef9d884bd4d89d5ca726383146</id>
<content type='text'>
Get rid of _indentation() and inline it into _parse_help(), adding some
simplifications and optimizations along the way.

Saves a few % of parsing of time. Help text parsing is surprisingly hot.
</content>
</entry>
<entry>
<title>Reorder some tuples to put y first</title>
<updated>2018-11-26T04:44:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-26T02:43:31Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=bb7044cb39af5659c082bd74b45734dca64824c5'/>
<id>urn:sha1:bb7044cb39af5659c082bd74b45734dca64824c5</id>
<content type='text'>
CONFIG_FOO=y and 'default y' and the like are more common than the n
versions, so test for them first.

Turning the tuples into sets would be even better on Python 3, as it
optimizes sets with constant keys into a LOAD_CONST, but it has a
performance penalty on Python 2.
</content>
</entry>
<entry>
<title>Speed up more token membership tests</title>
<updated>2018-11-26T04:42:13Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-25T15:07:13Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=120f551b8bf9a6c35a9a97d5c7551bff66dc78bb'/>
<id>urn:sha1:120f551b8bf9a6c35a9a97d5c7551bff66dc78bb</id>
<content type='text'>
Similar change to commit 4b23936 ("Speed up some token tests"), just for
more tests.

This especially helps for the "not a property line" case in
_parse_properties(), which checks against all the cases.

Saves 2-3% of parsing time together with the earlier change.
</content>
</entry>
<entry>
<title>Whitespace nit</title>
<updated>2018-11-25T01:52:19Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-25T01:52:19Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=010425856a3e56ece63aea7e7824e63e24a33d96'/>
<id>urn:sha1:010425856a3e56ece63aea7e7824e63e24a33d96</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Speed up some token tests</title>
<updated>2018-11-25T01:39:21Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-25T00:25:16Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=4b2393627c5c75807d559ef706f0d966ce131f60'/>
<id>urn:sha1:4b2393627c5c75807d559ef706f0d966ce131f60</id>
<content type='text'>
Turn some of the hotter membership test tuples into global sets, like
was already done for _TYPE_TOKENS. That saves some global lookups for
the tuple members and avoids repeatedly recreating tuples. It's 30%-50%
faster in a microbenchmark, even for two-element tuples (with global
lookups for the members).
</content>
</entry>
<entry>
<title>Move _TOKEN_TO_TYPE conversion into _set_type()</title>
<updated>2018-11-25T01:00:09Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-24T23:42:40Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e02c01e0628507d46ab7e25e4fa1b84183a86712'/>
<id>urn:sha1:e02c01e0628507d46ab7e25e4fa1b84183a86712</id>
<content type='text'>
Factors out some code.

Also use a quick 'is not UNKNOWN' test first inside it, which will
usually fail, since single-def symbols are more common. That avoids
building a tuple too.
</content>
</entry>
<entry>
<title>Use constants when _tokens_i is known</title>
<updated>2018-11-24T04:48:57Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-24T03:50:30Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=67ce4ebb0f5c74e9bb414fecb4bc08af73dff7b2'/>
<id>urn:sha1:67ce4ebb0f5c74e9bb414fecb4bc08af73dff7b2</id>
<content type='text'>
Same deal as for the initial token, except we sometimes know that we're
dealing with the second token as well.

Inline _expect_nonconst_sym_and_eol() and _expect_str(), which are
single-use. That allows more specific error messages to be used as well.

Also tweak an outdated comment in _tokenize() re. None-termination.
Token fetching is more manual now.
</content>
</entry>
<entry>
<title>Simplify eval_string() a bit</title>
<updated>2018-11-24T01:50:05Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-24T01:48:22Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=079d7352bec7294467e07071eb4dd4d1030b72a6'/>
<id>urn:sha1:079d7352bec7294467e07071eb4dd4d1030b72a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimize fetching of initial token on line</title>
<updated>2018-11-24T01:28:14Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-24T01:03:36Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=74ce9d348dd743af805484ccdd8a722a26aff42d'/>
<id>urn:sha1:74ce9d348dd743af805484ccdd8a722a26aff42d</id>
<content type='text'>
Another possible optimization was missed in commit ab89ef6 ("Get rid of
_next_token() and _peek_token()"): The index of the initial token on a
line is known to be 0, so there's no need to check _tokens_i.

Also reads a bit clearer.
</content>
</entry>
</feed>
