summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2020-12-29 13:52:55 +0100
committerTyge Løvset <[email protected]>2020-12-29 13:52:55 +0100
commite2b025c880727885c612c455f7e8550a1047c394 (patch)
tree126687e2efde54d94445371cea73c2d830a85885
parentb57066822cee9d0641e9d7be9b7458acf49f1678 (diff)
downloadSTC-modified-e2b025c880727885c612c455f7e8550a1047c394.tar.gz
STC-modified-e2b025c880727885c612c455f7e8550a1047c394.zip
Optimized cdeq push_back/push_front performance.
-rw-r--r--stc/cdeq.h4
1 files 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); \