mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-29 10:40:42 +02:00
python: Use key-functions when sorting containers
In Python 2, the traditional way to sort containers was to use a comparison function (which returned either -1, 0 or 1 when passed two objects) and pass that as the "cmp" argument to the container's sort() method. Python 2.4 introduced key-functions, which instead only operate on a given item, and return a sorting key for this item. In general, this runs faster, because the cmp-function has to get run multiple times for each item of the container. Python 3 removed the cmp-function, enforcing usage of key-functions instead. This change makes the script compatible with Python 2 and Python 3. Signed-off-by: Mathieu Bridon <bochecha@daitauha.fr> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
This commit is contained in:
parent
1e668ca111
commit
8d3ff6244c
1 changed files with 3 additions and 2 deletions
|
|
@ -32,6 +32,7 @@ import os
|
|||
GLAPI = os.path.join(".", os.path.dirname(sys.argv[0]), "glapi/gen")
|
||||
sys.path.append(GLAPI)
|
||||
|
||||
from operator import attrgetter
|
||||
import re
|
||||
from optparse import OptionParser
|
||||
import gl_XML
|
||||
|
|
@ -291,7 +292,7 @@ class ABIPrinter(object):
|
|||
|
||||
# sort entries by their names
|
||||
self.entries_sorted_by_names = self.entries[:]
|
||||
self.entries_sorted_by_names.sort(lambda x, y: cmp(x.name, y.name))
|
||||
self.entries_sorted_by_names.sort(key=attrgetter('name'))
|
||||
|
||||
self.indent = ' ' * 3
|
||||
self.noop_warn = 'noop_warn'
|
||||
|
|
@ -441,7 +442,7 @@ class ABIPrinter(object):
|
|||
"""Return the string pool for use by stubs."""
|
||||
# sort entries by their names
|
||||
sorted_entries = self.entries[:]
|
||||
sorted_entries.sort(lambda x, y: cmp(x.name, y.name))
|
||||
sorted_entries.sort(key=attrgetter('name'))
|
||||
|
||||
pool = []
|
||||
offsets = {}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue