скорость Dom и ассоциативных массивов

Sender

Новичок
скорость Dom и ассоциативных массивов

Стоит задача хранения данных "Model" в памяти, чтобы потом их передавать во "View". Как вариант хранить в ассоциативном массиве, но есть еще вариант хранить в Dom документе.
Как я вижу преимущества и недостатки:
Dom
+ удобство, xPath запросы для поиска информации, удобство кеширования, стандарт, "кроссплатформенность"
- "низкая скорость"

Массивы:
+ "высокая скорость"
- отсутствие "кроссплатформенности", для поиска информации придется рыть весь массив


Чего я не увидел? Насколько Dom медленее массивов и медленее ли?
 

senich

Новичок
а DOM Ты имеешь ввиду xml документ?
а то что-то я не могу догнать суть проблемы
и что значит отсутствие "кроссплатформенности"
 

Invizz

Новичок
для поиска в доме так же придется рыть все, только это остается за кулисами. поэтому никто не мешает написать вспомогательные поисковые функции по ключам-значениям, типа, парсящие запрос, а потом ищущие.

":news :1 :comments"

Но, честно говоря, не знаю, зачем там что-то искать =) Если это view, то уже давно все найдено и сложено как надо.

А в чем удобство кеширования? чем удобнее чем сериализованый массив? один хрен.

А стандарт и кроссплатформенность - вялые аргументы =)
 

phprus

Moderator
Команда форума
Sender
Ты не правильно понимаеш слово кросплатформенность (http://ru.wikipedia.org/wiki/Кросплатформенность).

Насколько Dom медленее массивов и медленее ли
Померей. Точно тебе никто не скажет что будет быстрее в твоей задаче.

для поиска информации придется рыть весь массив
А вот это зависит от структуры массива. Можно информацию по которой производится поиск сделать ключами массива.
 

Sender

Новичок
По кросплатформенности, имеется ввиду что если переходить потом на др. язык то технология xml будет присутствовать и там, тот же DomDocument будет там реализован. А сериализованые массивы php вряд ли кто поймет.

phprus
да... не кроссплатформенность а "кроссязычность", "портируемость" на другие языки решение, неправильно выразился.

ключами сделать можно, но внутри то тоже рыть надо будет, в конечном итоге допустим

я думал с этим уже кто-нибудь сталкивался... действительно видимо придется мерять, и видимо придется смотреть другие cms, как они хранят данные а потом их во view передают



senich
DomDocument, в основе которого XML. верно


Invizz
искать чтобы обменяться информацией с другими модулями, возможно эти данные уже были загружены другим модулем
а про парсящие запрос, потом поиск я не уловил...
 

Alexandre

PHPПенсионер
По кросплатформенности, имеется ввиду что если переходить потом на др. язык то технология xml будет присутствовать и там, тот же DomDocument будет там реализован. А сериализованые массивы php вряд ли кто поймет.
А сериализованые массивы php - аналог hTable есть во всех ООП языках.

для передачи между "слоями" используй не массивы а Объекты. Это и будет кроссязычный подход. Объект он и в Африке объект. Скорость к доступу объекта сопоставима со скоростью доступа в массиве, т.к. объекты организованны все теми же hTable.
 
Сверху