Тема: XML Parsing?
Показать сообщение отдельно
Старый 07.05.2012, 02:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 13  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Про "тормоза":
  1. Их нет
  2. Они есть, но не там, где вы их ищите.
  3. Динамические объекты тормозят больше.
По пунктам. Разница между скоростью работы XML и XMLNode - наносекунды на тысячах операций. Ею можно пренебречь. Почему выбран XMLNode в качестве примера для сравнения? - он тормозит меньше чем Object + Array, последние тормозят больше чем и то и другое.

Что скорее всего происходит: вы пишите код работающий с XML так, что он работает медленно. К сожалению, написать плохой код, работающий с XML гораздо проще, чем хороший, потому что циклы делаются неявно, и там, где вам кажется линейная скорость вы можете легко получить квадратную, кубическую и т.д.

Внимание! Где и как можно действительно сэкономить: если объемы информации такие, что даже при очень оптимальном и выверенном обращении с XML, тем не менее есть заметные лаги - попытаться построить наивную базу данных. Наивные базы данных работают быстрее реляционных!
ОК, наивные, в этом контексте значит - записать всю информацию в массив байт и вычитывать ее от туда по индексу. Это будет особненно хорошо работать, если не нужно конструировать базу в рантайме, а только загрузить. - Например, используя какой-нибудь самый простецкий формат записи, типа пол-байта на длину записи и пол-байта на тип записи, в заголовок вынести все расстояния до записей - и даже если вам нужно будет найти слово в большой советской энциклопедии, это займет наносекунды.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 07.05.2012 в 02:33.