Optimize inner loop of activeExpireCycle() for no-expires case.

This commit is contained in:
antirez 2013-03-09 11:48:54 +01:00
parent 5f5aa487f9
commit 1f7d2c1e27

View File

@ -671,9 +671,13 @@ void activeExpireCycle(void) {
/* Continue to expire if at the end of the cycle more than 25%
* of the keys were expired. */
do {
unsigned long num = dictSize(db->expires);
unsigned long slots = dictSlots(db->expires);
long long now = mstime();
unsigned long num, slots;
long long now;
/* If there is nothing to expire try next DB ASAP. */
if ((num = dictSize(db->expires)) == 0) break;
slots = dictSlots(db->expires);
now = mstime();
/* When there are less than 1% filled slots getting random
* keys is expensive, so stop here waiting for better times...