From caf8d2a9d16a313bbc86a27ad0642efc76852e9f Mon Sep 17 00:00:00 2001 From: Craig Robbins Date: Sat, 7 Feb 2015 17:52:56 +1000 Subject: Increase MapBlock::actuallyUpdateDayNightDiff() performance by 2-8x. ok @celeron55 Before patch, function consumes up to ~8% of the main server loop. After, ~0% (below level of 2 places of significance) --- src/mapblock.cpp | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) (limited to 'src/mapblock.cpp') diff --git a/src/mapblock.cpp b/src/mapblock.cpp index ecd9a016b..a05b7a4da 100644 --- a/src/mapblock.cpp +++ b/src/mapblock.cpp @@ -330,47 +330,42 @@ void MapBlock::copyFrom(VoxelManipulator &dst) void MapBlock::actuallyUpdateDayNightDiff() { INodeDefManager *nodemgr = m_gamedef->ndef(); + // Running this function un-expires m_day_night_differs m_day_night_differs_expired = false; - if(data == NULL) - { + if (data == NULL) { m_day_night_differs = false; return; } - bool differs = false; + bool differs; /* Check if any lighting value differs */ - for(u32 i=0; i