This is an automated email from the ASF dual-hosted git repository. not-in-ldap pushed a commit to branch tristan/variables-refactor in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 23510dab2732e5cd10868335bed61ef25fab079a Author: Tristan van Berkom <[email protected]> AuthorDate: Sat Jul 18 15:37:57 2020 +0900 _variables.pyx: Improve _fast_expand_var() * Reduce typechecking using some typecasts * Reduce dictionary lookups by using a temporary variable --- src/buildstream/_variables.pyx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/buildstream/_variables.pyx b/src/buildstream/_variables.pyx index b5d62c1..d6384f9 100644 --- a/src/buildstream/_variables.pyx +++ b/src/buildstream/_variables.pyx @@ -374,12 +374,15 @@ cdef class Variables: ################################################################# cdef str _fast_expand_var(self, str name, int counter = 0): cdef str sub + cdef list value_expression - if len(self._values[name]) > 1: - sub = self._fast_expand_value_expression(<list> self._values[name], counter) - self._values[name] = [sys.intern(sub)] + value_expression = <list> self._values[name] + if len(value_expression) > 1: + sub = self._fast_expand_value_expression(value_expression, counter) + value_expression = [sys.intern(sub)] + self._values[name] = value_expression - return self._values[name][0] + return <str> value_expression[0] cdef str _fast_expand_value_expression(self, list value, int counter = 0): if counter > 1000:
