mirror of https://mirror.osredm.com/root/redis.git
![]() Hello, this is a patch that improves vector sets in two ways: 1. It makes the RDB format compatible with big endian machines: yeah, they are non existent nowadays, but still it is better to be correct. The behavior remains unchanged in little endian systems, it only changes what happens in big endian systems in order for it to load and emit the exact same format produced by little endian. The implementation was *already largely safe* but for one detail. 2. More importantly, this PR saves nodes worst link score / index in a backward compatible way, introducing also versioning information for the serialized node encoding, that could be useful in the future. With this information, that in the past was not saved for a programming error (mine), there is no longer need to compute the worst link info at runtime when loading data. This results in a speed improvement of about 30% when loading data from disk / RESTORE. The saving performance is unaffected. The patch was tested with care to be sure that data produced with old vector sets implementations are loaded without issues (that is, the backward compatibility was hand-tested). The new code is tested by the persistence test already in the test suite, so no new test was added. |
||
---|---|---|
.. | ||
redisbloom | ||
redisearch | ||
redisjson | ||
redistimeseries | ||
vector-sets | ||
Makefile | ||
common.mk |