From 03d014a03fcdb695f3fdd79493f6443355c8b07d Mon Sep 17 00:00:00 2001 From: Jeongik Cha Date: Thu, 11 May 2023 17:25:51 +0900 Subject: [PATCH] parallelize add_partition_calls it made total time equal to the longest image build 1m10s->30s in local build Bug: 281960217 Test: m dist Change-Id: I13d4f45d9b46b39292a014e3b4e1913365d89b7a --- tools/releasetools/add_img_to_target_files.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py index ac3271b4f1..934b73f517 100644 --- a/tools/releasetools/add_img_to_target_files.py +++ b/tools/releasetools/add_img_to_target_files.py @@ -65,7 +65,7 @@ import verity_utils import ota_metadata_pb2 import rangelib import sparse_img - +from concurrent.futures import ThreadPoolExecutor from apex_utils import GetApexInfoFromTargetFiles from common import ZipDelete, PARTITIONS_WITH_CARE_MAP, ExternalError, RunAndCheckOutput, IsSparseImage, MakeTempFile, ZipWrite @@ -1083,8 +1083,10 @@ def AddImagesToTargetFiles(filename): ("system_dlkm", has_system_dlkm, AddSystemDlkm, []), ("system_other", has_system_other, AddSystemOther, []), ) - for call in add_partition_calls: - add_partition(*call) + + with ThreadPoolExecutor(max_workers=len(add_partition_calls)) as executor: + for future in [executor.submit(add_partition, *call) for call in add_partition_calls]: + future.result() AddApexInfo(output_zip)