Merge branch 'master' into pthreads-fix

This commit is contained in:
Shoghi Cervantes 2014-09-12 13:32:53 +02:00
commit 09428bc8c7
4 changed files with 15 additions and 1 deletions

View File

@ -48,6 +48,10 @@ abstract class Timings{
public static $serverCommandTimer;
/** @var TimingsHandler */
public static $worldSaveTimer;
/** @var TimingsHandler */
public static $permissibleCalculationTimer;
/** @var TimingsHandler */
public static $permissionDefaultTimer;
/** @var TimingsHandler */
public static $entityMoveTimer;
@ -98,6 +102,8 @@ abstract class Timings{
self::$timeUpdateTimer = new TimingsHandler("Time Update");
self::$serverCommandTimer = new TimingsHandler("Server Command");
self::$worldSaveTimer = new TimingsHandler("World Save");
self::$permissibleCalculationTimer = new TimingsHandler("Permissible Calculation");
self::$permissionDefaultTimer = new TimingsHandler("Default Permission Calculation");
self::$entityMoveTimer = new TimingsHandler("** entityMove");
self::$tickEntityTimer = new TimingsHandler("** tickEntity");

View File

@ -33,7 +33,7 @@ use pocketmine\item\Item;
use pocketmine\level\format\FullChunk;
use pocketmine\level\generator\populator\Ore;
use pocketmine\level\generator\populator\Populator;
use pocketmine\math\Vector3 as Vector3;
use pocketmine\math\Vector3;
use pocketmine\utils\Random;
class Flat extends Generator{

View File

@ -21,6 +21,7 @@
namespace pocketmine\permission;
use pocketmine\event\Timings;
use pocketmine\plugin\Plugin;
use pocketmine\Server;
@ -162,6 +163,8 @@ class PermissibleBase implements Permissible{
}
public function recalculatePermissions(){
Timings::$permissibleCalculationTimer->startTiming();
$this->clearPermissions();
$defaults = Server::getInstance()->getPluginManager()->getDefaultPermissions($this->isOp());
Server::getInstance()->getPluginManager()->subscribeToDefaultPerms($this->isOp(), $this->parent);
@ -176,6 +179,8 @@ class PermissibleBase implements Permissible{
foreach($this->attachments as $attachment){
$this->calculateChildPermissions($attachment->getPermissions(), false, $attachment);
}
Timings::$permissibleCalculationTimer->stopTiming();
}
public function clearPermissions(){

View File

@ -28,6 +28,7 @@ use pocketmine\event\Event;
use pocketmine\event\EventPriority;
use pocketmine\event\HandlerList;
use pocketmine\event\Listener;
use pocketmine\event\Timings;
use pocketmine\event\TimingsHandler;
use pocketmine\permission\Permissible;
use pocketmine\permission\Permission;
@ -396,6 +397,7 @@ class PluginManager{
* @param Permission $permission
*/
private function calculatePermissionDefault(Permission $permission){
Timings::$permissionDefaultTimer->startTiming();
if($permission->getDefault() === Permission::DEFAULT_OP or $permission->getDefault() === Permission::DEFAULT_TRUE){
$this->defaultPermsOp[$permission->getName()] = $permission;
$this->dirtyPermissibles(true);
@ -405,6 +407,7 @@ class PluginManager{
$this->defaultPerms[$permission->getName()] = $permission;
$this->dirtyPermissibles(false);
}
Timings::$permissionDefaultTimer->startTiming();
}
/**