make startup performance warnings a little more coherent

This commit is contained in:
Dylan K. Taylor 2019-08-25 16:34:26 +01:00
parent ad0f100f8e
commit fdfbaf4e95
2 changed files with 13 additions and 11 deletions

View File

@ -122,6 +122,18 @@ namespace pocketmine {
return $messages; 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(((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(){ function server(){
if(!empty($messages = check_platform_dependencies())){ if(!empty($messages = check_platform_dependencies())){
echo PHP_EOL; echo PHP_EOL;
@ -219,13 +231,7 @@ namespace pocketmine {
$logger = new MainLogger(\pocketmine\DATA . "server.log"); $logger = new MainLogger(\pocketmine\DATA . "server.log");
\GlobalLogger::set($logger); \GlobalLogger::set($logger);
if(extension_loaded("xdebug")){ emit_performance_warnings($logger);
$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(\Phar::running(true) === ""){
$logger->warning("Non-packaged " . \pocketmine\NAME . " installation detected. Consider using a phar in production for better performance.");
}
$version = new VersionString(\pocketmine\BASE_VERSION, \pocketmine\IS_DEVELOPMENT_BUILD, \pocketmine\BUILD_NUMBER); $version = new VersionString(\pocketmine\BASE_VERSION, \pocketmine\IS_DEVELOPMENT_BUILD, \pocketmine\BUILD_NUMBER);
define('pocketmine\VERSION', $version->getFullVersion(true)); define('pocketmine\VERSION', $version->getFullVersion(true));

View File

@ -1070,10 +1070,6 @@ class Server{
$this->logger->warning(str_repeat("-", 40)); $this->logger->warning(str_repeat("-", 40));
} }
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'); ini_set('assert.exception', '1');
if($this->logger instanceof MainLogger){ if($this->logger instanceof MainLogger){