- 21 6月, 2014 2 次提交
-
-
由 antirez 提交于
This commit also fixes a bug in the implementation of sdscatfmt() resulting from stale references to the SDS string header after sdsMakeRoomFor() calls.
-
由 antirez 提交于
sdscatprintf() relies on printf() family libc functions and is sometimes too slow in critical code paths. sdscatfmt() is an alternative which is: 1) Far less capable. 2) Format specifier uncompatible. 3) Faster. It is suitable to be used in those speed critical code paths such as CLIENT LIST output generation.
-
- 24 3月, 2014 2 次提交
-
-
由 antirez 提交于
For small content the function now tries to use a static buffer to avoid a malloc/free cycle that is too costly when the function is used in the context of performance critical code path such as INFO output generation. This change was verified to have positive effects in the execution speed of the INFO command.
-
由 antirez 提交于
sdscatvprintf() uses a loop where it tries to output the formatted string in a buffer of the initial length, if there was not enough room, a buffer of doubled size is tried and so forth. The initial guess for the buffer length was very poor, an hardcoded "16". This caused the printf to be processed multiple times without a good reason. Given that printf functions are already not fast, the overhead was significant. The new heuristic is to use a buffer 4 times the length of the format buffer, and 32 as minimal size. This appears to be a good balance for typical uses of the function inside the Redis code base. This change improved INFO command performances 3 times.
-
- 12 12月, 2013 1 次提交
-
-
由 codeeply 提交于
-
- 05 12月, 2013 1 次提交
-
-
由 antirez 提交于
-
- 24 7月, 2013 1 次提交
-
-
由 antirez 提交于
Actaully the string is modified in-place and a reallocation is never needed, so there is no need to return the new sds string pointer as return value of the function, that is now just "void".
-
- 23 7月, 2013 1 次提交
-
-
由 antirez 提交于
-
- 08 7月, 2013 1 次提交
-
-
由 antirez 提交于
-
- 06 3月, 2013 3 次提交
-
-
由 antirez 提交于
-
由 antirez 提交于
This makes programs not checking the return value for NULL much safer since with this change: 1) It is still possible to iterate the zero-length result without crashes. 2) sdssplitargs_free will work against NULL and 0 count.
-
由 antirez 提交于
An empty input string also resulted into the function returning NULL making it harder for the caller to distinguish between error and empty string without checking the original input string length.
-
- 19 1月, 2013 1 次提交
-
-
由 guiquanz 提交于
Conflicts fixed, mainly because 2.8 has no cluster support / files: 00-RELEASENOTES src/cluster.c src/crc16.c src/redis-trib.rb src/redis.h
-
- 09 11月, 2012 1 次提交
-
-
由 antirez 提交于
-
- 27 9月, 2012 1 次提交
-
-
由 Erik Dubbelboer 提交于
-
- 14 3月, 2012 2 次提交
- 16 1月, 2012 2 次提交
- 21 11月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 02 11月, 2011 2 次提交
- 28 10月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 13 9月, 2011 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 25 5月, 2011 1 次提交
-
-
由 antirez 提交于
Make sure error and status replies emitted by Lua scripts can never have more than a newline, otherwise it is a protocol violation and clients will desync.
-
- 05 5月, 2011 2 次提交
-
-
由 Pieter Noordhuis 提交于
-
由 Pieter Noordhuis 提交于
-
- 07 4月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 02 4月, 2011 1 次提交
-
-
由 antirez 提交于
DUMP implemented, RESTORE and MIGRATE fixed. Use zcalloc() instead of zmalloc()+memset() in sds.c when a new string is created with NULL initialization pointer.
-
- 23 3月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 21 3月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 27 1月, 2011 1 次提交
-
-
由 antirez 提交于
Fixed a theoretical non exploitable security bug reported by @chrisrohlf. In theory if we undefine SDS_ABORT_ON_OOM from sds.c AND modify zmalloc.c in order to don't quit on out of memory (but this would break every other part of Redis), on out of memory there is a possible heap overflow.
-
- 10 12月, 2010 2 次提交
-
-
由 Pieter Noordhuis 提交于
-
由 Pieter Noordhuis 提交于
Move logic concerned with setting a bit in an sds to the SETBIT command instead of keeping it in sds.c. The function to grow an sds can and will be reused for a command to set a range within a string value.
-
- 09 12月, 2010 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 23 9月, 2010 2 次提交
- 03 9月, 2010 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 26 8月, 2010 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 05 8月, 2010 1 次提交
-
-
由 antirez 提交于
-