[Mesa-dev] [PATCH 14/41] glapi: use xrange instead of range in python
Ian Romanick
idr at freedesktop.org
Tue Apr 19 21:59:23 UTC 2016
This patch is
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
On 03/31/2016 05:04 PM, Dylan Baker wrote:
> In python 2 range returns a new list, which is okay for very small
> values, but can get quite expensive for larger lists. xrange on the
> other hand is an iterator, which requires less memory and processing
> power.
>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
> src/mapi/glapi/gen/glX_proto_size.py | 2 +-
> src/mapi/glapi/gen/glX_server_table.py | 16 ++++++++--------
> src/mapi/glapi/gen/gl_XML.py | 5 ++---
> src/mapi/glapi/gen/gl_apitemp.py | 2 +-
> 4 files changed, 12 insertions(+), 13 deletions(-)
>
> diff --git a/src/mapi/glapi/gen/glX_proto_size.py b/src/mapi/glapi/gen/glX_proto_size.py
> index d8b9c21..0c0b106 100644
> --- a/src/mapi/glapi/gen/glX_proto_size.py
> +++ b/src/mapi/glapi/gen/glX_proto_size.py
> @@ -151,7 +151,7 @@ class glx_enum_function(object):
> masked_enums = {}
> masked_count = {}
>
> - for i in range(0, mask + 1):
> + for i in xrange(0, mask + 1):
> masked_enums[i] = "0"
> masked_count[i] = 0
>
> diff --git a/src/mapi/glapi/gen/glX_server_table.py b/src/mapi/glapi/gen/glX_server_table.py
> index d1a2bb9..6443a99 100644
> --- a/src/mapi/glapi/gen/glX_server_table.py
> +++ b/src/mapi/glapi/gen/glX_server_table.py
> @@ -35,7 +35,7 @@ import license
>
>
> def log2(value):
> - for i in range(0, 30):
> + for i in xrange(0, 30):
> p = 1 << i
> if p >= value:
> return i
> @@ -46,7 +46,7 @@ def log2(value):
> def round_down_to_power_of_two(n):
> """Returns the nearest power-of-two less than or equal to n."""
>
> - for i in range(30, 0, -1):
> + for i in xrange(30, 0, -1):
> p = 1 << i
> if p <= n:
> return p
> @@ -95,17 +95,17 @@ class function_table:
> next_opcode = min_opcode + (1 << remaining_bits)
> empty_children = 0
>
> - for M in range(0, remaining_bits):
> + for M in xrange(0, remaining_bits):
> op_count = 1 << (remaining_bits - M)
> child_count = 1 << M
>
> empty_children = 0
> full_children = 0
> - for i in range(min_opcode, next_opcode, op_count):
> + for i in xrange(min_opcode, next_opcode, op_count):
> used = 0
> empty = 0
>
> - for j in range(i, i + op_count):
> + for j in xrange(i, i + op_count):
> if j in self.functions:
> used += 1
> else:
> @@ -130,7 +130,7 @@ class function_table:
> count = 1
> depth = 1
> all_children_are_nonempty_leaf_nodes = 1
> - for i in range(min_opcode, next_opcode, op_count):
> + for i in xrange(min_opcode, next_opcode, op_count):
> n = self.divide_group(i, total + M)
>
> if not (n[1] == [] and not self.is_empty_leaf(i, n[0])):
> @@ -151,7 +151,7 @@ class function_table:
> return [M, children, count, depth]
>
> def is_empty_leaf(self, base_opcode, M):
> - for op in range(base_opcode, base_opcode + (1 << M)):
> + for op in xrange(base_opcode, base_opcode + (1 << M)):
> if op in self.functions:
> return 0
> break
> @@ -187,7 +187,7 @@ class function_table:
>
> print ' LEAF(%u),' % (len(self.lookup_table))
>
> - for op in range(child_base_opcode, child_base_opcode + (1 << child_M)):
> + for op in xrange(child_base_opcode, child_base_opcode + (1 << child_M)):
> if op in self.functions:
> func = self.functions[op]
> size = func.command_fixed_length()
> diff --git a/src/mapi/glapi/gen/gl_XML.py b/src/mapi/glapi/gen/gl_XML.py
> index de10019..695ef7f 100644
> --- a/src/mapi/glapi/gen/gl_XML.py
> +++ b/src/mapi/glapi/gen/gl_XML.py
> @@ -685,7 +685,7 @@ class gl_function(gl_item):
> if len(parameters) != len(self.parameters):
> raise RuntimeError("Parameter count mismatch in %s. Was %d, now %d." % (name, len(self.parameters), len(parameters)))
>
> - for j in range(0, len(parameters)):
> + for j in xrange(0, len(parameters)):
> p1 = parameters[j]
> p2 = self.parameters[j]
> if not p1.compatible(p2):
> @@ -975,9 +975,8 @@ class gl_api(object):
> classify_category. Each iterated value is a tuple of the
> name and number (which may be None) of the category.
> """
> -
> list = []
> - for cat_type in range(0,4):
> + for cat_type in xrange(0,4):
> keys = self.categories[cat_type].keys()
> keys.sort()
>
> diff --git a/src/mapi/glapi/gen/gl_apitemp.py b/src/mapi/glapi/gen/gl_apitemp.py
> index feb5f8e..5143ae3 100644
> --- a/src/mapi/glapi/gen/gl_apitemp.py
> +++ b/src/mapi/glapi/gen/gl_apitemp.py
> @@ -196,7 +196,7 @@ class PrintGlOffsets(gl_XML.gl_print_base):
> print ' * when someone tries to call a dynamically-registered'
> print ' * extension function without a current rendering context.'
> print ' */'
> - for i in range(1, 100):
> + for i in xrange(1, 100):
> print ' TABLE_ENTRY(Unused),'
>
> print '};'
>
More information about the mesa-dev
mailing list