diff options
| author | Tyge Løvset <[email protected]> | 2020-12-29 13:52:55 +0100 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2020-12-29 13:52:55 +0100 |
| commit | e2b025c880727885c612c455f7e8550a1047c394 (patch) | |
| tree | 126687e2efde54d94445371cea73c2d830a85885 | |
| parent | b57066822cee9d0641e9d7be9b7458acf49f1678 (diff) | |
| download | STC-modified-e2b025c880727885c612c455f7e8550a1047c394.tar.gz STC-modified-e2b025c880727885c612c455f7e8550a1047c394.zip | |
Optimized cdeq push_back/push_front performance.
| -rw-r--r-- | stc/cdeq.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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); \
|
