[git commit] bc: avoid bc_vec_item() calls in bc_array_copy()

Denys Vlasenko vda.linux at googlemail.com
Wed Dec 19 16:59:30 UTC 2018


commit: https://git.busybox.net/busybox/commit/?id=eac0de55d69a4eea87689c1d4800eb8e80824aca
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
zbc_program_copyToVar                                311     300     -11

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 miscutils/bc.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/miscutils/bc.c b/miscutils/bc.c
index 8316933f6..01442c33b 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -2572,14 +2572,16 @@ static void bc_array_expand(BcVec *a, size_t len)
 
 static void bc_array_copy(BcVec *d, const BcVec *s)
 {
+	BcNum *dnum, *snum;
 	size_t i;
 
 	bc_vec_pop_all(d);
 	bc_vec_expand(d, s->cap);
 	d->len = s->len;
 
-	for (i = 0; i < s->len; ++i) {
-		BcNum *dnum = bc_vec_item(d, i), *snum = bc_vec_item(s, i);
+	dnum = (void*)d->v;
+	snum = (void*)s->v;
+	for (i = 0; i < s->len; i++, dnum++, snum++) {
 		bc_num_init(dnum, snum->len);
 		bc_num_copy(dnum, snum);
 	}


More information about the busybox-cvs mailing list