From 6611b8f03fa882719e612a53be797f57b6de7e9f Mon Sep 17 00:00:00 2001 From: JinmingHu Date: Tue, 7 Sep 2021 14:42:17 +0800 Subject: [PATCH] Improvement: Create less threads when there isn't enough data to transfer (#2838) * Improvement: Create only necessary threads when there isn't enough data to transfer * Update sdk/storage/azure-storage-common/inc/azure/storage/common/internal/concurrent_transfer.hpp * CL --- sdk/storage/azure-storage-blobs/CHANGELOG.md | 2 ++ .../inc/azure/storage/common/internal/concurrent_transfer.hpp | 2 +- sdk/storage/azure-storage-files-datalake/CHANGELOG.md | 2 ++ sdk/storage/azure-storage-files-shares/CHANGELOG.md | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sdk/storage/azure-storage-blobs/CHANGELOG.md b/sdk/storage/azure-storage-blobs/CHANGELOG.md index 770d63294..f1cbd8558 100644 --- a/sdk/storage/azure-storage-blobs/CHANGELOG.md +++ b/sdk/storage/azure-storage-blobs/CHANGELOG.md @@ -12,6 +12,8 @@ ### Other Changes +- Create less threads if there isn't too much data to transfer. + ## 12.1.0 (2021-08-10) ### Features Added diff --git a/sdk/storage/azure-storage-common/inc/azure/storage/common/internal/concurrent_transfer.hpp b/sdk/storage/azure-storage-common/inc/azure/storage/common/internal/concurrent_transfer.hpp index 602716b36..a67b4b34b 100644 --- a/sdk/storage/azure-storage-common/inc/azure/storage/common/internal/concurrent_transfer.hpp +++ b/sdk/storage/azure-storage-common/inc/azure/storage/common/internal/concurrent_transfer.hpp @@ -54,7 +54,7 @@ namespace Azure { namespace Storage { namespace _internal { }; std::vector> threadHandles; - for (int i = 0; i < concurrency - 1; ++i) + for (int i = 0; i < std::min(concurrency, numChunks) - 1; ++i) { threadHandles.emplace_back(std::async(std::launch::async, threadFunc)); } diff --git a/sdk/storage/azure-storage-files-datalake/CHANGELOG.md b/sdk/storage/azure-storage-files-datalake/CHANGELOG.md index f4238d5c4..ca64f964a 100644 --- a/sdk/storage/azure-storage-files-datalake/CHANGELOG.md +++ b/sdk/storage/azure-storage-files-datalake/CHANGELOG.md @@ -12,6 +12,8 @@ ### Other Changes +- Create less threads if there isn't too much data to transfer. + ## 12.1.0 (2021-08-10) ### Features Added diff --git a/sdk/storage/azure-storage-files-shares/CHANGELOG.md b/sdk/storage/azure-storage-files-shares/CHANGELOG.md index 32d7fe44e..e5795809b 100644 --- a/sdk/storage/azure-storage-files-shares/CHANGELOG.md +++ b/sdk/storage/azure-storage-files-shares/CHANGELOG.md @@ -12,6 +12,8 @@ ### Other Changes +- Create less threads if there isn't too much data to transfer. + ## 12.1.0 (2021-08-10) ### Bugs Fixed