From d6b99509019067cee3494468851a0ebab9a491cd Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 25 Aug 2019 16:34:26 +0100 Subject: [PATCH] backport fdfbaf4e95d9760199b363005cca71b852d5eee5: make startup performance warnings a little more coherent --- src/pocketmine/PocketMine.php | 26 ++++++++++++++++---------- src/pocketmine/Server.php | 4 ---- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/pocketmine/PocketMine.php b/src/pocketmine/PocketMine.php index fc688278a..4b191b36b 100644 --- a/src/pocketmine/PocketMine.php +++ b/src/pocketmine/PocketMine.php @@ -121,6 +121,21 @@ namespace pocketmine { return $messages; } + function emit_performance_warnings(\Logger $logger){ + if(extension_loaded("xdebug")){ + $logger->warning("Xdebug extension is enabled. This has a major impact on performance."); + } + if(!extension_loaded("pocketmine_chunkutils")){ + $logger->warning("ChunkUtils extension is missing. Anvil-format worlds will experience degraded performance."); + } + if(((int) ini_get('zend.assertions')) !== -1){ + $logger->warning("Debugging assertions are enabled. This may degrade performance. To disable them, set `zend.assertions = -1` in php.ini."); + } + if(\Phar::running(true) === ""){ + $logger->warning("Non-packaged installation detected. This will degrade autoloading speed and make startup times longer."); + } + } + function server(){ if(!empty($messages = check_platform_dependencies())){ echo PHP_EOL; @@ -245,16 +260,7 @@ namespace pocketmine { } unset($tzError); - if(extension_loaded("xdebug")){ - $logger->warning(PHP_EOL . PHP_EOL . PHP_EOL . "\tYou are running " . \pocketmine\NAME . " with xdebug enabled. This has a major impact on performance." . PHP_EOL . PHP_EOL); - } - if(!extension_loaded("pocketmine_chunkutils")){ - $logger->warning("ChunkUtils extension is missing. Anvil-format worlds will experience degraded performance."); - } - - if(\Phar::running(true) === ""){ - $logger->warning("Non-packaged " . \pocketmine\NAME . " installation detected. Consider using a phar in production for better performance."); - } + emit_performance_warnings($logger); $exitCode = 0; do{ diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index e992a9a3e..100860de3 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1565,10 +1565,6 @@ class Server{ return; } - if(((int) ini_get('zend.assertions')) !== -1){ - $this->logger->warning("Debugging assertions are enabled, this may impact on performance. To disable them, set `zend.assertions = -1` in php.ini."); - } - ini_set('assert.exception', '1'); if($this->logger instanceof MainLogger){