From 1a6517ea4e56e9130e033fbed892675a0fc37c24 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 4 Jul 2017 16:37:46 +0100 Subject: [PATCH] Added timings for console title ticking As stupid as this seems, this can actually cost a significant amount of tick time due to reading from disk and/or executing commands. --- src/pocketmine/Server.php | 3 +++ src/pocketmine/event/Timings.php | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index 25ef2dca1..5eb868eef 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -2384,6 +2384,7 @@ class Server{ } private function titleTick(){ + Timings::$titleTickTimer->startTiming(); $d = Utils::getRealMemoryUsage(); $u = Utils::getMemoryUsage(true); @@ -2399,6 +2400,8 @@ class Server{ " | Load " . $this->getTickUsageAverage() . "%\x07"; $this->network->resetStatistics(); + + Timings::$titleTickTimer->stopTiming(); } /** diff --git a/src/pocketmine/event/Timings.php b/src/pocketmine/event/Timings.php index fd8c3c35a..0c9680ea3 100644 --- a/src/pocketmine/event/Timings.php +++ b/src/pocketmine/event/Timings.php @@ -42,6 +42,8 @@ abstract class Timings{ /** @var TimingsHandler */ public static $garbageCollectorTimer; /** @var TimingsHandler */ + public static $titleTickTimer; + /** @var TimingsHandler */ public static $playerListTimer; /** @var TimingsHandler */ public static $playerNetworkTimer; @@ -129,6 +131,7 @@ abstract class Timings{ self::$serverTickTimer = new TimingsHandler("** Full Server Tick", self::$fullTickTimer); self::$memoryManagerTimer = new TimingsHandler("Memory Manager"); self::$garbageCollectorTimer = new TimingsHandler("Garbage Collector", self::$memoryManagerTimer); + self::$titleTickTimer = new TimingsHandler("Console Title Tick"); self::$playerListTimer = new TimingsHandler("Player List"); self::$playerNetworkTimer = new TimingsHandler("Player Network Send"); self::$playerNetworkReceiveTimer = new TimingsHandler("Player Network Receive");