From e2b025c880727885c612c455f7e8550a1047c394 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Tue, 29 Dec 2020 13:52:55 +0100 Subject: Optimized cdeq push_back/push_front performance. --- stc/cdeq.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stc/cdeq.h b/stc/cdeq.h index 55168a81..5cf35300 100644 --- a/stc/cdeq.h +++ b/stc/cdeq.h @@ -236,8 +236,8 @@ size_t nfront = self->data - self->base, nback = cap - (nfront + len); \ if (at_front && nfront >= n || !at_front && nback >= n) \ return; \ - if (len + n > cap) { \ - cap = (len + n + 6)*3/2; \ + if ((len + n)*1.1 > cap) { \ + cap = (len + n + 6)*1.5; \ size_t* rep = (size_t *) c_realloc(_cdeq_alloced(self->base), 2*sizeof(size_t) + cap*sizeof(Value)); \ rep[0] = len, rep[1] = cap; \ self->base = (cdeq_##X##_value_t *) (rep + 2); \ -- cgit v1.2.3