1. 28 Apr, 2014 2 commits
    • antirez's avatar
      Added new sdscatfmt() %u and %U format specifiers. · 2d76736a
      antirez authored
      This commit also fixes a bug in the implementation of sdscatfmt()
      resulting from stale references to the SDS string header after
      sdsMakeRoomFor() calls.
      2d76736a
    • antirez's avatar
      sdscatfmt() added to SDS library. · 53575c47
      antirez authored
      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.
      53575c47
  2. 24 Mar, 2014 2 commits
    • antirez's avatar
      sdscatvprintf(): Try to use a static buffer. · 30639c8c
      antirez authored
      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.
      30639c8c
    • antirez's avatar
      sdscatvprintf(): guess buflen using format length. · a9caca04
      antirez authored
      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.
      a9caca04
  3. 12 Dec, 2013 1 commit
  4. 05 Dec, 2013 1 commit
  5. 24 Jul, 2013 1 commit
    • antirez's avatar
      sdsrange() does not need to return a value. · 6ea8e094
      antirez authored
      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".
      6ea8e094
  6. 23 Jul, 2013 1 commit
  7. 04 Jul, 2013 1 commit
  8. 06 Mar, 2013 3 commits
  9. 19 Jan, 2013 1 commit
  10. 08 Nov, 2012 1 commit
  11. 30 Mar, 2012 1 commit
  12. 14 Mar, 2012 2 commits
  13. 16 Jan, 2012 2 commits
  14. 21 Nov, 2011 1 commit
  15. 02 Nov, 2011 2 commits
  16. 28 Oct, 2011 1 commit
  17. 13 Sep, 2011 1 commit
  18. 25 May, 2011 1 commit
  19. 05 May, 2011 2 commits
  20. 07 Apr, 2011 1 commit
  21. 01 Apr, 2011 1 commit
  22. 22 Mar, 2011 1 commit
  23. 20 Mar, 2011 1 commit
  24. 27 Jan, 2011 1 commit
  25. 10 Dec, 2010 2 commits
  26. 09 Dec, 2010 1 commit
  27. 23 Sep, 2010 2 commits
  28. 02 Sep, 2010 1 commit
  29. 26 Aug, 2010 1 commit
  30. 05 Aug, 2010 1 commit