From 46684beec185d13f89c4a91aaa5dd2148ebb0273 Mon Sep 17 00:00:00 2001 From: kwolekr Date: Sun, 17 May 2015 22:14:26 -0400 Subject: Record MapBlock modification reasons as flags instead of strings This improves performance of MapBlock::raiseModified by a factor of 6. Also, clean up mapblock.h a bit and inline small functions. --- src/map.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/map.cpp') diff --git a/src/map.cpp b/src/map.cpp index 47c66055d..9974ff363 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1436,7 +1436,7 @@ void Map::timerUpdate(float dtime, float unload_timeout, // Save if modified if (block->getModified() != MOD_STATE_CLEAN && save_before_unloading) { - modprofiler.add(block->getModifiedReason(), 1); + modprofiler.add(block->getModifiedReasonString(), 1); if (!saveBlock(block)) continue; saved_blocks_count++; @@ -2412,7 +2412,7 @@ void ServerMap::finishBlockMake(BlockMakeData *data, Set block as modified */ block->raiseModified(MOD_STATE_WRITE_NEEDED, - "finishBlockMake expireDayNightDiff"); + MOD_REASON_EXPIRE_DAYNIGHTDIFF); } /* @@ -2981,7 +2981,7 @@ void ServerMap::save(ModifiedState save_level) save_started = true; } - modprofiler.add(block->getModifiedReason(), 1); + modprofiler.add(block->getModifiedReasonString(), 1); saveBlock(block); block_count++; -- cgit v1.2.3