Потребление памяти и длина имени переменной в PHP
Недавно всплыло обсуждение именования переменных в Yii, а именно
class CComponent
{
private $_e;
private $_m;
Я согласен, что выглядит плохо, но именно в данном случае такие имена переменных более-менее оправданы и в Yii2 останутся примерно такими же:
class Component extends \yii\base\Object
{
/**
* @var Vector[] the attached event handlers (event name => handlers)
*/
private $_e;
/**
* @var Behavior[] the attached behaviors (behavior name => behavior)
*/
private $_b;
Дело в том, что каждый экземпляр класса с нормальными именами переменных будет кушать больше памяти. Например, $_behaviors и $_events скушают 8 байт на экземпляр.
Конечно, 8 байт ничто и сокращать таким образом переменные в обычных приложениях определённо не стоит. Но не в случае самого-самого базового класса фреймворка. В зависимости от приложения, наследников Component может быть довольно много. Например, на 1000 объектах AR накладной расход выльется в 8 килобайт.
Комментарии:
Нету комментариев для вывода...