redis/hiredis — pull request #260 by michael-grunder (2014-08-01 23:45:12+00:00)
Title: Improve redisAppendCommandArgv performance

OK, perhaps the second time is a charm. I forgot that I had
hiredis forked from a long time ago, so the initial pull
request was hosed. :)

* Pulled in sdscatfmt() from Redis, and modified it to accept a
size_t (%T) style format specifier.

* Pulled in sdsll2str() and sdsull2str() from Redis (needed by
sdscatfmt).

* Added a new method, redisFormatSdsCommandArgv() which takes
and sds* as the target, rather than char* (and uses sdscatfmt
instead of sprintf for the construction).

I get roughly the following improvement:

Old: 1.044806
New: 0.481620

The benchmark code itself can be found here:
https://gist.github.com/michael-grunder/c92ef31bb632b3d0ad81

Cheers,
Mike