Если я правильно прочитал ваш пост, вы уже очистили файл .bash_profile
, поэтому осталось только запустить
unset DB_USER DB_PASS
в каждом окне оболочки, в котором все еще есть переменные среды.
Для кого-либо, кто все еще интересуется этим вопросом :) Я выполнил код Quazzle Ubuntu x64 PHP 7.1 и получил этот ответ:
arrays: 0.24848890304565
memory: 444920
Array
(
[aaa] => aaa
[bbb] => bbb
[ccc] => aaabbb
)
arrays: 0.23238587379456
memory: 164512
SomeClass Object
(
[aaa] => aaa
[bbb] => bbb
[ccc] => aaabbb
)
arrays: 0.24422693252563
memory: 484416
stdClass Object
(
[aaa] => aaa
[bbb] => bbb
[ccc] => aaabbb
)
берут 4 (!) память, чем объект класса.
Объект класса незначительно быстрее.
stdClass, все еще злой В© magallanes :)
Вы не показали нам код того, как работает $ object-> value
, поскольку это могло быть array, и в этом случае теоретически использование массива будет быстрее, поскольку требует на один вызов функции меньше. Стоимость поиска, вероятно, будет огромной по сравнению с вызовом функции. Если это переменная, будет очень мало различий, поскольку объекты и массивы в PHP имеют очень похожую реализацию.
Если вы ищете оптимизацию, вам нужно будет выполнить профилирование, чтобы проверить, где используется большая часть времени. Я подозреваю, что преобразование объектов в массивы не будет иметь большого значения.
Вы всегда можете проверить исходный код PHP на наличие подобных микропроизводительных функций.
Но на первый взгляд, никакое выполнение ['value'] не будет быстрее, потому что PHP должен выполнить поиск, где найти ['value'], даже если поиск по хеш-таблице должен быть O (1), это не гарантировано. При использовании Text-index накладные расходы больше.
Если объект содержит только 1 переменную, к которой вам нужно получить доступ, а именно значение, использование объекта увеличивает накладные расходы.