From f977168085f721c7bb88f7b88295e5b804ca1a1e Mon Sep 17 00:00:00 2001 From: WuYunlong Date: Tue, 27 Oct 2020 13:02:06 +0800 Subject: [PATCH] Fix waste of CPU time about server log in serverCron. When all the work is just adding logs, we could pull the condition out so as to use less CPU time when loglevel is bigger than LL_VERBOSE. --- src/server.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/server.c b/src/server.c index 093c20630..bb035f795 100644 --- a/src/server.c +++ b/src/server.c @@ -1968,16 +1968,17 @@ int serverCron(struct aeEventLoop *eventLoop, long long id, void *clientData) { } /* Show some info about non-empty databases */ - run_with_period(5000) { - for (j = 0; j < server.dbnum; j++) { - long long size, used, vkeys; + if (server.verbosity <= LL_VERBOSE) { + run_with_period(5000) { + for (j = 0; j < server.dbnum; j++) { + long long size, used, vkeys; - size = dictSlots(server.db[j].dict); - used = dictSize(server.db[j].dict); - vkeys = dictSize(server.db[j].expires); - if (used || vkeys) { - serverLog(LL_VERBOSE,"DB %d: %lld keys (%lld volatile) in %lld slots HT.",j,used,vkeys,size); - /* dictPrintStats(server.dict); */ + size = dictSlots(server.db[j].dict); + used = dictSize(server.db[j].dict); + vkeys = dictSize(server.db[j].expires); + if (used || vkeys) { + serverLog(LL_VERBOSE,"DB %d: %lld keys (%lld volatile) in %lld slots HT.",j,used,vkeys,size); + } } } }