From: Denys Vlasenko Date: Wed, 19 Dec 2018 16:59:30 +0000 (+0100) Subject: bc: avoid bc_vec_item() calls in bc_array_copy() X-Git-Tag: 1_30_0~96 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=eac0de55d69a4eea87689c1d4800eb8e80824aca;p=oweals%2Fbusybox.git bc: avoid bc_vec_item() calls in bc_array_copy() function old new delta zbc_program_copyToVar 311 300 -11 Signed-off-by: Denys Vlasenko --- 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); }