mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 00:28:26 -05:00
Multi bulk optimization for creating big objects without copying data is no longer optional, #ifdefs removed. Also debugging messages removed.
This commit is contained in:
parent
65330badb9
commit
53272781d0
@ -767,7 +767,6 @@ int processMultibulkBuffer(redisClient *c) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pos += newline-(c->querybuf+pos)+2;
|
pos += newline-(c->querybuf+pos)+2;
|
||||||
#ifdef REDIS_MBULK_BIG_ARG
|
|
||||||
if (ll >= REDIS_MBULK_BIG_ARG) {
|
if (ll >= REDIS_MBULK_BIG_ARG) {
|
||||||
/* If we are going to read a large object from network
|
/* If we are going to read a large object from network
|
||||||
* try to make it likely that it will start at c->querybuf
|
* try to make it likely that it will start at c->querybuf
|
||||||
@ -780,7 +779,6 @@ int processMultibulkBuffer(redisClient *c) {
|
|||||||
* going to contain. */
|
* going to contain. */
|
||||||
if (ll >= REDIS_MBULK_BIG_ARG)
|
if (ll >= REDIS_MBULK_BIG_ARG)
|
||||||
c->querybuf = sdsMakeRoomFor(c->querybuf,ll+2);
|
c->querybuf = sdsMakeRoomFor(c->querybuf,ll+2);
|
||||||
#endif
|
|
||||||
c->bulklen = ll;
|
c->bulklen = ll;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -789,7 +787,6 @@ int processMultibulkBuffer(redisClient *c) {
|
|||||||
/* Not enough data (+2 == trailing \r\n) */
|
/* Not enough data (+2 == trailing \r\n) */
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
#ifdef REDIS_MBULK_BIG_ARG
|
|
||||||
/* Optimization: if the buffer contanins JUST our bulk element
|
/* Optimization: if the buffer contanins JUST our bulk element
|
||||||
* instead of creating a new object by *copying* the sds we
|
* instead of creating a new object by *copying* the sds we
|
||||||
* just use the current sds string. */
|
* just use the current sds string. */
|
||||||
@ -797,7 +794,6 @@ int processMultibulkBuffer(redisClient *c) {
|
|||||||
c->bulklen >= REDIS_MBULK_BIG_ARG &&
|
c->bulklen >= REDIS_MBULK_BIG_ARG &&
|
||||||
(signed) sdslen(c->querybuf) == c->bulklen+2)
|
(signed) sdslen(c->querybuf) == c->bulklen+2)
|
||||||
{
|
{
|
||||||
// printf("HERE (arg %d)\n",c->argc);
|
|
||||||
c->argv[c->argc++] = createObject(REDIS_STRING,c->querybuf);
|
c->argv[c->argc++] = createObject(REDIS_STRING,c->querybuf);
|
||||||
sdsIncrLen(c->querybuf,-2); /* remove CRLF */
|
sdsIncrLen(c->querybuf,-2); /* remove CRLF */
|
||||||
c->querybuf = sdsempty();
|
c->querybuf = sdsempty();
|
||||||
@ -806,14 +802,10 @@ int processMultibulkBuffer(redisClient *c) {
|
|||||||
c->querybuf = sdsMakeRoomFor(c->querybuf,c->bulklen+2);
|
c->querybuf = sdsMakeRoomFor(c->querybuf,c->bulklen+2);
|
||||||
pos = 0;
|
pos = 0;
|
||||||
} else {
|
} else {
|
||||||
#endif
|
|
||||||
// printf("NOT HERE (arg %d) (pos %d)\n",c->argc, pos);
|
|
||||||
c->argv[c->argc++] =
|
c->argv[c->argc++] =
|
||||||
createStringObject(c->querybuf+pos,c->bulklen);
|
createStringObject(c->querybuf+pos,c->bulklen);
|
||||||
pos += c->bulklen+2;
|
pos += c->bulklen+2;
|
||||||
#ifdef REDIS_MBULK_BIG_ARG
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
c->bulklen = -1;
|
c->bulklen = -1;
|
||||||
c->multibulklen--;
|
c->multibulklen--;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user