From eac0de55d69a4eea87689c1d4800eb8e80824aca Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 19 Dec 2018 17:59:30 +0100 Subject: 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 --- 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); } -- cgit v1.2.3