Мне было интересно, сколько памяти я теряю при обработке DOMDocument вместо обычного массива, и это меня удивило.Тесты показывают, что DOM более эффективен.
Тест был прост: небольшая инициализация, получение некоторых данных из SOAP и помещение их
1. в массив 2. в DOM, и все эти упражнения измерялись с помощью memory_get_usage (false и true соответственно)
Результаты приведены ниже:
- Массив
1:start local 362,204 system 524,288
2:init local 362,472 system 524,288
3:soap local 4,099,776 system 4,718,592
3:dom local 4,101,784 system 4,718,592
- ДОМ
1:start local 362,204 system 524,288
2:init local 362,468 system 524,288
3:soap local 4,099,776 system 4,718,592
3:array local 6,118,164 system 6,553,600
Может кто-нибудь сказать мнепочему массивы намного дороже памяти?
Каким образом 140 Кбайт (я измерил его с использованием только значений атрибутов) данных (обычно текстовых) умещается в 4 101 784 - 4 099 776 = 2008 байт.Я просто не понимаю.