From 66037309c63c53a28c9553070a4557fabb84ed5a 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); + } } } }