From: "Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Elijah Newren <newren@gmail.com>, Elijah Newren <newren@gmail.com>
Subject: [PATCH 2/7] diffcore-rename: remove unnecessary if-clause
Date: Sun, 06 Dec 2020 02:54:31 +0000 [thread overview]
Message-ID: <f96bb36930a6e5e42f0d3b9c5dfa3b2cc27c1f9d.1607223276.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.929.git.git.1607223276.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
diffcore-rename had two different checks of the form
if ((a < limit || b < limit) &&
a * b <= limit * limit)
Since these are all non-negative integers, this can be simplified to
if (a * b <= limit * limit)
The only advantage of the former would be in avoiding a couple
multiplications in the rare case that both a and b are BOTH very large.
I see no reason for such an optimization given that this code is not in
any kind of loop. Prefer code simplicity here and change to the latter
form.
Signed-off-by: Elijah Newren <newren@gmail.com>
---
diffcore-rename.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/diffcore-rename.c b/diffcore-rename.c
index 68ddf51a2a1..0f8fce9293e 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -450,9 +450,8 @@ static int too_many_rename_candidates(int num_targets, int num_sources,
*/
if (rename_limit <= 0)
rename_limit = 32767;
- if ((num_targets <= rename_limit || num_sources <= rename_limit) &&
- ((uint64_t)num_targets * (uint64_t)num_sources
- <= (uint64_t)rename_limit * (uint64_t)rename_limit))
+ if ((uint64_t)num_targets * (uint64_t)num_sources
+ <= (uint64_t)rename_limit * (uint64_t)rename_limit)
return 0;
options->needed_rename_limit =
@@ -468,9 +467,8 @@ static int too_many_rename_candidates(int num_targets, int num_sources,
continue;
limited_sources++;
}
- if ((num_targets <= rename_limit || limited_sources <= rename_limit) &&
- ((uint64_t)num_targets * (uint64_t)limited_sources
- <= (uint64_t)rename_limit * (uint64_t)rename_limit))
+ if ((uint64_t)num_targets * (uint64_t)limited_sources
+ <= (uint64_t)rename_limit * (uint64_t)rename_limit)
return 2;
return 1;
}
--
gitgitgadget
next prev parent reply other threads:[~2020-12-06 4:08 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-06 2:54 [PATCH 0/7] diffcore-rename improvements Elijah Newren via GitGitGadget
2020-12-06 2:54 ` [PATCH 1/7] diffcore-rename: avoid usage of global in too_many_rename_candidates() Elijah Newren via GitGitGadget
2020-12-09 22:06 ` Taylor Blau
2020-12-06 2:54 ` Elijah Newren via GitGitGadget [this message]
2020-12-09 22:10 ` [PATCH 2/7] diffcore-rename: remove unnecessary if-clause Taylor Blau
2020-12-10 0:32 ` Elijah Newren
2020-12-10 2:03 ` Junio C Hamano
2020-12-10 2:17 ` Elijah Newren
2020-12-10 6:56 ` Junio C Hamano
2020-12-06 2:54 ` [PATCH 3/7] diffcore-rename: rename num_create to num_targets Elijah Newren via GitGitGadget
2020-12-10 2:20 ` Junio C Hamano
2020-12-10 2:25 ` Elijah Newren
2020-12-06 2:54 ` [PATCH 4/7] diffcore-rename: change a few comments to use 'add' instead of 'create' Elijah Newren via GitGitGadget
2020-12-10 2:29 ` Junio C Hamano
2020-12-06 2:54 ` [PATCH 5/7] diffcore-rename: reduce jumpiness in progress counters Elijah Newren via GitGitGadget
2020-12-09 22:24 ` Taylor Blau
2020-12-10 2:36 ` Junio C Hamano
2020-12-06 2:54 ` [PATCH 6/7] diffcore-rename: simplify and accelerate register_rename_src() Elijah Newren via GitGitGadget
2020-12-09 22:40 ` Taylor Blau
2020-12-10 0:25 ` Elijah Newren
2020-12-10 0:41 ` Taylor Blau
2020-12-10 2:51 ` Junio C Hamano
2020-12-06 2:54 ` [PATCH 7/7] Accelerate rename_dst setup Elijah Newren via GitGitGadget
2020-12-09 23:01 ` Taylor Blau
2020-12-10 0:57 ` Elijah Newren
2020-12-10 1:43 ` Junio C Hamano
2020-12-06 3:01 ` [PATCH 0/7] diffcore-rename improvements Elijah Newren
2020-12-11 9:08 ` [PATCH v2 0/9] " Elijah Newren via GitGitGadget
2020-12-11 9:08 ` [PATCH v2 1/9] diffcore-rename: rename num_create to num_destinations Elijah Newren via GitGitGadget
2020-12-11 9:08 ` [PATCH v2 2/9] diffcore-rename: avoid usage of global in too_many_rename_candidates() Elijah Newren via GitGitGadget
2020-12-11 9:08 ` [PATCH v2 3/9] diffcore-rename: simplify limit check Elijah Newren via GitGitGadget
2020-12-11 9:08 ` [PATCH v2 4/9] diffcore-rename: reduce jumpiness in progress counters Elijah Newren via GitGitGadget
2020-12-11 9:08 ` [PATCH v2 5/9] t4058: add more tests and documentation for duplicate tree entry handling Elijah Newren via GitGitGadget
2020-12-11 9:08 ` [PATCH v2 6/9] t4058: explore duplicate tree entry handling in a bit more detail Elijah Newren via GitGitGadget
2021-04-21 12:29 ` Ævar Arnfjörð Bjarmason
2021-04-21 17:38 ` Elijah Newren
2020-12-11 9:08 ` [PATCH v2 7/9] diffcore-rename: simplify and accelerate register_rename_src() Elijah Newren via GitGitGadget
2020-12-11 9:08 ` [PATCH v2 8/9] diffcore-rename: accelerate rename_dst setup Elijah Newren via GitGitGadget
2020-12-11 9:08 ` [PATCH v2 9/9] diffcore-rename: remove unneccessary duplicate entry checks Elijah Newren via GitGitGadget
2020-12-29 8:31 ` Christian Couder
2020-12-29 18:09 ` Elijah Newren
2020-12-29 20:05 ` [PATCH v3 0/9] diffcore-rename improvements Elijah Newren via GitGitGadget
2020-12-29 20:05 ` [PATCH v3 1/9] diffcore-rename: rename num_create to num_destinations Elijah Newren via GitGitGadget
2020-12-29 20:05 ` [PATCH v3 2/9] diffcore-rename: avoid usage of global in too_many_rename_candidates() Elijah Newren via GitGitGadget
2020-12-29 20:05 ` [PATCH v3 3/9] diffcore-rename: simplify limit check Elijah Newren via GitGitGadget
2021-11-09 21:14 ` Başar Uğur
2021-11-10 20:06 ` Elijah Newren
2021-11-11 9:02 ` Başar Uğur
2021-11-11 16:19 ` Elijah Newren
2020-12-29 20:05 ` [PATCH v3 4/9] diffcore-rename: reduce jumpiness in progress counters Elijah Newren via GitGitGadget
2020-12-29 20:05 ` [PATCH v3 5/9] t4058: add more tests and documentation for duplicate tree entry handling Elijah Newren via GitGitGadget
2020-12-29 20:05 ` [PATCH v3 6/9] t4058: explore duplicate tree entry handling in a bit more detail Elijah Newren via GitGitGadget
2020-12-29 20:05 ` [PATCH v3 7/9] diffcore-rename: simplify and accelerate register_rename_src() Elijah Newren via GitGitGadget
2020-12-29 20:05 ` [PATCH v3 8/9] diffcore-rename: accelerate rename_dst setup Elijah Newren via GitGitGadget
2020-12-29 20:05 ` [PATCH v3 9/9] diffcore-rename: remove unnecessary duplicate entry checks Elijah Newren via GitGitGadget
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f96bb36930a6e5e42f0d3b9c5dfa3b2cc27c1f9d.1607223276.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=newren@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).