diff options
author | filipe oliveira <filipecosta.90@gmail.com> | 2022-08-04 08:38:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-04 10:38:20 +0300 |
commit | 6686c6d774fcf71fffbaeff798c997ab3eff80de (patch) | |
tree | 4aed8229c8298f520780ce51d105450006f8e1e0 | |
parent | f3588fbcca1eb339324c72ff78b4643420fd020a (diff) | |
download | redis-6686c6d774fcf71fffbaeff798c997ab3eff80de.tar.gz |
Avoid the sdslen() on shared.crlf given we know its size beforehand. Improve ~3-4% of cpu cycles to lrange logic (#10987)
* Avoid the sdslen() on shared.crlf given we know its size beforehand
* Removed shared.crlf from sharedObjects
-rw-r--r-- | src/networking.c | 8 | ||||
-rw-r--r-- | src/server.c | 1 | ||||
-rw-r--r-- | src/server.h | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/src/networking.c b/src/networking.c index 8e68300c2..6bf39d11a 100644 --- a/src/networking.c +++ b/src/networking.c @@ -860,7 +860,7 @@ void addReplyBigNum(client *c, const char* num, size_t len) { } else { addReplyProto(c,"(",1); addReplyProto(c,num,len); - addReply(c,shared.crlf); + addReplyProto(c,"\r\n",2); } } @@ -991,21 +991,21 @@ void addReplyBulkLen(client *c, robj *obj) { void addReplyBulk(client *c, robj *obj) { addReplyBulkLen(c,obj); addReply(c,obj); - addReply(c,shared.crlf); + addReplyProto(c,"\r\n",2); } /* Add a C buffer as bulk reply */ void addReplyBulkCBuffer(client *c, const void *p, size_t len) { addReplyLongLongWithPrefix(c,len,'$'); addReplyProto(c,p,len); - addReply(c,shared.crlf); + addReplyProto(c,"\r\n",2); } /* Add sds to reply (takes ownership of sds and frees it) */ void addReplyBulkSds(client *c, sds s) { addReplyLongLongWithPrefix(c,sdslen(s),'$'); addReplySds(c,s); - addReply(c,shared.crlf); + addReplyProto(c,"\r\n",2); } /* Set sds to a deferred reply (for symmetry with addReplyBulkSds it also frees the sds) */ diff --git a/src/server.c b/src/server.c index 57c1d2f8e..27f2be905 100644 --- a/src/server.c +++ b/src/server.c @@ -1680,7 +1680,6 @@ void createSharedObjects(void) { int j; /* Shared command responses */ - shared.crlf = createObject(OBJ_STRING,sdsnew("\r\n")); shared.ok = createObject(OBJ_STRING,sdsnew("+OK\r\n")); shared.emptybulk = createObject(OBJ_STRING,sdsnew("$0\r\n\r\n")); shared.czero = createObject(OBJ_STRING,sdsnew(":0\r\n")); diff --git a/src/server.h b/src/server.h index fb96987f4..cb4954e13 100644 --- a/src/server.h +++ b/src/server.h @@ -1222,7 +1222,7 @@ struct sentinelConfig { }; struct sharedObjectsStruct { - robj *crlf, *ok, *err, *emptybulk, *czero, *cone, *pong, *space, + robj *ok, *err, *emptybulk, *czero, *cone, *pong, *space, *queued, *null[4], *nullarray[4], *emptymap[4], *emptyset[4], *emptyarray, *wrongtypeerr, *nokeyerr, *syntaxerr, *sameobjecterr, *outofrangeerr, *noscripterr, *loadingerr, |