python: Use key-functions when sorting containers
authorMathieu Bridon <bochecha@daitauha.fr>
Thu, 9 Aug 2018 08:27:23 +0000 (10:27 +0200)
committerDylan Baker <dylan@pnwbakers.com>
Thu, 9 Aug 2018 23:49:19 +0000 (16:49 -0700)
commit8d3ff6244c7cc5a8399afcf0d1d98d7fd8148452
tree5dd34e5fdc175bb70c470c86e430fbe6d3f65329
parent1e668ca111563b122b16be5506638983b31205b5
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>
src/mapi/mapi_abi.py