Объекты PHP по сравнению с Массивами — Сравнение производительности при итерации

У меня есть огромная сумма объектов PHP для нейронной сети, для которой я должен выполнить итерации и выполнить некоторую математику на. Я задавался вопросом, буду ли я более обеспеченным использованием ассоциативного массива по экземплярам классов?

Я имею дело с приблизительно 3640 объекты и выполняющий итерации вокруг 500 времена (в лучшем случае) к тому же так любая микрооптимизация помогают многому. Разве это неизбежно было бы более быстро, чтобы сделать $object['value'] чем $object->value?

Править: Таким образом, они - оба то же. Но я предполагаю, что там было бы немного служебным для конструктора? Так или иначе я не думаю, что хочу торговать своими красивыми классами для грязных массивов :P

83
задан mickmackusa 27 June 2019 в 06:56
поделиться

1 ответ

Для кого-либо, кто все еще интересуется этим вопросом :) Я выполнил код 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 :)

1
ответ дан 24 November 2019 в 08:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: