Commit Graph

1071 Commits

Author SHA1 Message Date
Benjamin Kramer
399f2f401c Add zcalloc and use it where appropriate
calloc is more effecient than malloc+memset when the system uses mmap to
allocate memory. mmap always returns zeroed memory so the memset can be
avoided.  The threshold to use mmap is 16k in osx libc and 128k in bsd
libc and glibc. The kernel can lazily allocate the pages, this reduces
memory usage when we have a page table or hash table that is mostly
empty.

This change is most visible when you start a new redis instance with vm
enabled.  You'll see no increased memory usage no matter how big your
page table is.
2010-07-25 00:11:20 +02:00
Benjamin Kramer
d9dd352b36 Remove _dictAlloc and friends
zmalloc calls abort() so _dictPanic will never be called.
2010-07-24 23:10:42 +02:00
Benjamin Kramer
b1e0bd4b9b Reduce code duplication 2010-07-24 22:37:01 +02:00
Pieter Noordhuis
e39c8b5047 exit with non-zero status when there are failed tests 2010-07-23 13:08:35 +02:00
antirez
230729617d don't open/close log file if log level is not matched 2010-07-22 23:31:40 +02:00
Pieter Noordhuis
c8a10631d1 fix rare condition where 'key' would already be destroyed while is was needed later on 2010-07-22 16:06:27 +02:00
antirez
2f996f0217 defensive programming: set o->ptr to NULL before freeing objects 2010-07-22 15:48:57 +02:00
antirez
e002ec6801 other shared objects where created in the I/O thread in createStringObjectFromLongLong. Fixed as well. 2010-07-22 14:48:45 +02:00
antirez
cdbea20afb minor typo fixed in a comment 2010-07-22 13:12:24 +02:00
antirez
0e5441d816 don't use object sharing inside I/O threads, as a fix for a well known instability of VM introduced with the new object sharing code 2010-07-22 13:08:02 +02:00
antirez
1a71fb9669 vm_blocked_clients count fixed in INFO, thanks to Pietern Noordhuis 2010-07-21 13:16:26 +02:00
antirez
2cffe2993b TODO list modified, trivial change to source code 2010-07-16 23:56:18 +02:00
antirez
5b4bff9c17 WATCH is now affected only when write commands actually modify the key content 2010-07-12 12:01:15 +02:00
antirez
e51a74aa40 fmacro included in linenoise.c 2010-07-09 10:51:41 +02:00
antirez
99628c1af8 redis-cli history saved across sessions 2010-07-07 18:44:53 +02:00
antirez
185cabda45 redis-cli is now able to report version information using -v 2010-07-06 19:17:09 +02:00
antirez
443d1e9efe Make install fixed using a dummy taget 2010-07-06 19:10:20 +02:00
antirez
acc0185493 make install target, finally ;) 2010-07-06 19:07:16 +02:00
antirez
f26dde8ca9 top level Makefile added, so you do not need to cd src 2010-07-06 18:54:54 +02:00
antirez
b056ca39f2 improved random dataset creation in test: del, sunionstore, zunionstore 2010-07-06 18:30:38 +02:00
antirez
8b654e54c4 First implementation of a replication consistency test 2010-07-06 17:24:00 +02:00
Pieter Noordhuis
d0a4e24e32 merged code from 184d74ab, 4774a53b, f483ce5f to new file structure 2010-07-05 15:16:33 -04:00
antirez
70a214c46d INSTALL file added BETATESTING.txt removed 2010-07-05 20:37:20 +02:00
antirez
d06a5b23c8 Fixed compilation on *BSD systems 2010-07-05 20:14:48 +02:00
antirez
b67d234563 Fixed a crash loading the AOF file containing MULTI/EXEC, a result of WATCH implementation. Test needed... 2010-07-05 20:06:54 +02:00
antirez
b7a8daef60 WATCH will now consider touched keys target of EXPIRE command after the WATCH is performed, but not before 2010-07-05 19:38:12 +02:00
antirez
3688d7f308 Compilation fixed on Linux after the source code split 2010-07-01 21:13:38 +02:00
antirez
d3b958c3fc Fixed MONITOR output for consistency: now integer encoded values are also formatted like this: "3932" 2010-07-01 20:22:46 +02:00
antirez
5bd09cd4c5 Fix the AOF fix of the latest commit ;) 2010-07-01 20:18:48 +02:00
antirez
daf2049d0d fixed error code checking for *write operations and return value in AOF rewriting function 2010-07-01 20:13:33 +02:00
antirez
af4e866dbb Merged with split 2010-07-01 16:55:12 +02:00
antirez
0f49d6b049 minor aesthetic change 2010-07-01 15:14:25 +02:00
antirez
bb8716b6dc TODO updated 2010-07-01 14:52:01 +02:00
antirez
2c24c22039 Version is now 2.1.2 2010-07-01 14:47:26 +02:00
antirez
24110a4d7d Make log target fixed 2010-07-01 14:45:37 +02:00
antirez
fb829ec6a2 gitignore modified 2010-07-01 14:41:03 +02:00
antirez
e2641e09cc redis.c split into many different C files.
networking related stuff moved into networking.c

moved more code

more work on layout of source code

SDS instantaneuos memory saving. By Pieter and Salvatore at VMware ;)

cleanly compiling again after the first split, now splitting it in more C files

moving more things around... work in progress

split replication code

splitting more

Sets split

Hash split

replication split

even more splitting

more splitting

minor change
2010-07-01 14:38:51 +02:00
antirez
b8b8501d70 Merge remote branch 'pietern/zfixes' 2010-06-25 00:23:38 +02:00
Pieter Noordhuis
f483ce5ffe fix unexpected behavior on an out of range end index for LRANGE and LTRIM 2010-06-24 15:12:42 -07:00
Pieter Noordhuis
c2ff0e90b8 more pub/sub tests 2010-06-16 11:03:23 +02:00
Pieter Noordhuis
4589a823fd initial basic pub/sub tests 2010-06-16 11:01:42 +02:00
Pieter Noordhuis
676740a960 fix BLPOP/BRPOP to use the wrapped function for list length 2010-06-15 21:23:24 +02:00
Pieter Noordhuis
5eedc9c65e tests for BLPOP/BRPOP via an option in the tcl client that defers reading the reply 2010-06-15 21:23:18 +02:00
Pieter Noordhuis
4774a53b24 fix behavior for out-of-range negative end index on ZREMRANGEBYRANK 2010-06-15 16:21:42 +02:00
Pieter Noordhuis
184d74abc6 more tests for zrange and zrevrange; fix behavior for out-of-range negative end index 2010-06-15 15:40:28 +02:00
antirez
d5096a28d7 TODO updated 2010-06-14 17:59:03 +02:00
antirez
d52e588869 Merge branch 'ltrim-tests' of git://github.com/pietern/redis 2010-06-14 10:22:38 +02:00
Pieter Noordhuis
7e79de541a rename "list" to "linkedlist" to be more verbose 2010-06-14 10:21:23 +02:00
antirez
7d04fc7563 allow running the test suite against an external Redis instance, without auto spawning 2010-06-14 10:19:45 +02:00
Pieter Noordhuis
08b5920750 change ltrim tests to cover all min/max cases and add stronger stresser 2010-06-14 09:45:34 +02:00