From fe01f50c65a8e76d766c34b7f07f471abb5dffab Mon Sep 17 00:00:00 2001 From: g1tman Date: Mon, 25 Nov 2019 15:58:16 +0530 Subject: [PATCH] Perf: Use of sort and sorted functions optimized (#748) * Update mixer.py * Update graph.py * Update mixer.py * Update mixer.py * Update bdistapk.py * Update toolchain.py * Update build.py * Update build.py --- p4a/pythonforandroid/bdistapk.py | 4 ++-- p4a/pythonforandroid/bootstraps/common/build/build.py | 3 +-- p4a/pythonforandroid/bootstraps/lbry/build/build.py | 3 +-- p4a/pythonforandroid/graph.py | 3 +-- p4a/pythonforandroid/recipes/android/src/android/mixer.py | 4 +--- p4a/pythonforandroid/toolchain.py | 3 +-- recipes/android/src/android/mixer.py | 4 +--- 7 files changed, 8 insertions(+), 16 deletions(-) diff --git a/p4a/pythonforandroid/bdistapk.py b/p4a/pythonforandroid/bdistapk.py index 5bdd1c6..a27f4d1 100644 --- a/p4a/pythonforandroid/bdistapk.py +++ b/p4a/pythonforandroid/bdistapk.py @@ -123,7 +123,7 @@ class BdistAPK(Command): exit(1) if len(main_py_dirs) > 1: print('WARNING: Multiple main.py dirs found, using the shortest path') - main_py_dirs = sorted(main_py_dirs, key=lambda j: len(split(j))) + main_py_dirs.sort(key=lambda j: len(split(j))) if not argv_contains('--launcher'): sys.argv.append('--private={}'.format( @@ -145,4 +145,4 @@ def _set_user_options(): BdistAPK.user_options = user_options -_set_user_options() \ No newline at end of file +_set_user_options() diff --git a/p4a/pythonforandroid/bootstraps/common/build/build.py b/p4a/pythonforandroid/bootstraps/common/build/build.py index 38fe2b7..342115e 100644 --- a/p4a/pythonforandroid/bootstraps/common/build/build.py +++ b/p4a/pythonforandroid/bootstraps/common/build/build.py @@ -447,8 +447,7 @@ main.py that loads it.''') # Try to build with the newest available build tools ignored = {".DS_Store", ".ds_store"} build_tools_versions = [x for x in listdir(join(sdk_dir, 'build-tools')) if x not in ignored] - build_tools_versions = sorted(build_tools_versions, - key=LooseVersion) + build_tools_versions.sort(key=LooseVersion) build_tools_version = build_tools_versions[-1] # Folder name for launcher (used by SDL2 bootstrap) diff --git a/p4a/pythonforandroid/bootstraps/lbry/build/build.py b/p4a/pythonforandroid/bootstraps/lbry/build/build.py index 71e5e7c..584e6ed 100755 --- a/p4a/pythonforandroid/bootstraps/lbry/build/build.py +++ b/p4a/pythonforandroid/bootstraps/lbry/build/build.py @@ -344,8 +344,7 @@ main.py that loads it.''') # Try to build with the newest available build tools build_tools_versions = listdir(join(sdk_dir, 'build-tools')) - build_tools_versions = sorted(build_tools_versions, - key=LooseVersion) + build_tools_versions.sort(key=LooseVersion) build_tools_version = build_tools_versions[-1] diff --git a/p4a/pythonforandroid/graph.py b/p4a/pythonforandroid/graph.py index 2e98e8c..646a66e 100644 --- a/p4a/pythonforandroid/graph.py +++ b/p4a/pythonforandroid/graph.py @@ -293,8 +293,7 @@ def get_recipe_order_and_bootstrap(ctx, names, bs=None, blacklist=None): orders.append(list(order)) # prefer python3 and SDL2 if available - orders = sorted(orders, - key=lambda order: -('python3' in order) - ('sdl2' in order)) + orders.sort(key=lambda order: -('python3' in order) - ('sdl2' in order)) if not orders: raise BuildInterruptingException( diff --git a/p4a/pythonforandroid/recipes/android/src/android/mixer.py b/p4a/pythonforandroid/recipes/android/src/android/mixer.py index 303a953..334f696 100644 --- a/p4a/pythonforandroid/recipes/android/src/android/mixer.py +++ b/p4a/pythonforandroid/recipes/android/src/android/mixer.py @@ -93,9 +93,7 @@ def find_channel(force=False): if not force: return None - busy.sort(key=lambda x: x.play_time) - - return busy[0] + return min(busy, key=lambda x: x.play_time) class ChannelImpl(object): diff --git a/p4a/pythonforandroid/toolchain.py b/p4a/pythonforandroid/toolchain.py index f4ab7f4..6796f94 100644 --- a/p4a/pythonforandroid/toolchain.py +++ b/p4a/pythonforandroid/toolchain.py @@ -822,8 +822,7 @@ class ToolchainCL(object): build_tools_versions = os.listdir(join(ctx.sdk_dir, 'build-tools')) - build_tools_versions = sorted(build_tools_versions, - key=LooseVersion) + build_tools_versions.sort(key=LooseVersion) build_tools_version = build_tools_versions[-1] info(('Detected highest available build tools ' 'version to be {}').format(build_tools_version)) diff --git a/recipes/android/src/android/mixer.py b/recipes/android/src/android/mixer.py index 4ac224a..65e106d 100644 --- a/recipes/android/src/android/mixer.py +++ b/recipes/android/src/android/mixer.py @@ -79,9 +79,7 @@ def find_channel(force=False): if not force: return None - busy.sort(key=lambda x : x.play_time) - - return busy[0] + return min(busy, key=lambda x : x.play_time) class ChannelImpl(object):