1. 26 Apr, 2021 1 commit
    • Andy Pan's avatar
      Fail fast when systemic error occurs in poll (#8749) · a8b6596d
      Andy Pan authored
      Most of the ae.c backends didn't explicitly handle errors, and instead
      ignored all errors and did an implicit retry.
      This is desired for EAGAIN and EINTER, but in case of other systematic
      errors, we prefer to fail and log the error we got rather than get into a busy loop.
      a8b6596d
  2. 06 Dec, 2020 1 commit
    • Oran Agra's avatar
      Sanitize dump payload: performance optimizations and tuning · e288430c
      Oran Agra authored
      First, if the ziplist header is surely inside the ziplist, do fast path
      decoding rather than the careful one.
      
      In that case, streamline the encoding if-else chain to be executed only
      once, and the encoding validity tested at the end.
      
      encourage inlining
      
      likely / unlikely hints for speculative execution
      
      Assertion used _exit(1) to tell the compiler that the code after them is
      not reachable and get rid of warnings.
      
      But in some cases assertions are placed inside tight loops, and any
      piece of code in them can slow down execution (code cache and other
      reasons), instead using either abort() or better yet, unreachable
      builtin.
      e288430c
  3. 03 Jul, 2018 1 commit
  4. 18 Jan, 2017 1 commit
    • antirez's avatar
      Add panic() into redisassert.h. · 17ac46ea
      antirez authored
      This header file is for libs, like ziplist.c, that we want to leave
      almost separted from the core. The panic() calls will be easy to delete
      in order to use such files outside, but the debugging info we gain are
      very valuable compared to simple assertions where it is not possible to
      print debugging info.
      17ac46ea
  5. 26 Jul, 2015 1 commit
  6. 19 Aug, 2013 2 commits
  7. 19 Feb, 2012 1 commit
  8. 05 May, 2011 1 commit
  9. 23 Dec, 2010 1 commit
  10. 16 Dec, 2010 1 commit
  11. 03 Nov, 2010 1 commit
  12. 02 Nov, 2010 1 commit
  13. 02 Sep, 2010 1 commit
  14. 24 Jul, 2010 1 commit
    • Benjamin Kramer's avatar
      Add zcalloc and use it where appropriate · 399f2f40
      Benjamin Kramer authored
      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.
      399f2f40
  15. 01 Jul, 2010 1 commit
    • antirez's avatar
      redis.c split into many different C files. · e2641e09
      antirez authored
      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
      e2641e09
  16. 19 Feb, 2010 1 commit
  17. 15 Jan, 2010 1 commit
  18. 23 Mar, 2009 1 commit
  19. 22 Mar, 2009 1 commit