Zend_Cache

dfilatov

Новичок
Zend_Cache

Решил попробовать Zend_Cache, используя Zend_Cache_Frontend_File. Типа отслеживает время изменения главного файла.

В документации есть типа пример того, зачем он нужен. Как раз мой случай:

"For instance, you have an XML configuration file which is parsed by a function which returns a "config object" (like with Zend_Config). With Zend_Cache_Frontend_File, you can store the "config object" into cache (to avoid the parsing of the XML config file at each time) but with a sort of strong dependency on the "master file". So, if the XML config file is modified, the cache is immediatly invalidated."

После профайлинга оказалось, что парсить xml быстрее, чем пользоваться этим кэшем.
Суммарное время теста для 100 повторений в моем случае:
- Zend_Cache - 1.60 с
- парсинг - 0.40 с

Может я что-то не так понял?
 

Alexandre

PHPПенсионер
а для одного повторения? - в скрипте, как правило нет повторений. Или ты расчитывал сумарное время на вызов скриптов, можно по подробнее о методике вычисления времени?
 

dfilatov

Новичок
Для одного повторения картина идентична, хотя, конечно, не такая выразительная. У меня парсится по 7-8 разных конфигов (мапперы), и, после подключения Zend_Cache, сразу в логах время выполнения скриптов выросло. Поэтому и сделал 100 повторений (100 загрузок из кэша и 100 парсингов xml), дабы убедится что это не моя фантазия.

-~{}~ 12.09.07 18:13:

Для интереса быстро написал свой подобный класс для кэширования. Результаты 100 повторений:
- Cache - 0.36 с
- парсинг - 0.40 с

Чего-то они там намудрили с Zend_Cache.

-~{}~ 12.09.07 18:18:

Да и, судя по всему, вообще не имеет смысла кэширование результатов парсинга xml - слишком небольшой выигрыш.
 

voituk

прозревший
dfilatov
Я когда-то (ещё на PHP4) добился увеличения производительности одной системы в 10 раз путем сохранения сериализированной структуры полученной в результате парсинга XML
 

dfilatov

Новичок
В php4 свое расширения работы с dom, так что сравнивать вряд ли можно. Было бы интересно, давала ли твоя система такой прирост в php5? Да и парсить xml тоже по-разному можно.
 

voituk

прозревший
В php4 свое расширения работы с dom ... давала ли твоя система такой прирост в php5? ... и парсить xml тоже по-разному можно
Да как ты его не парси, все равно парсить произвольные структуры а-ля XML всегда сложнее чем парсить однопроходный жестко-регламентированный формат сериализации.

Парсил sax-парсером expat.
 

dfilatov

Новичок
Так вобще-то про это и был мой вопрос - почему Zend_Cache работает медленнее чем парсинг xml.
 

ustas

Элекомист №1
dfilatov
Встречный вопрос:
Почему Smarty парсит файл в 30 раз тише, чем парсер PHP.
----------
Используй php c учетом сильных и слабых сторон.
 

dfilatov

Новичок
Ты не мне вопрос задавай, а voituk'у, как раз он утверждает, что:
"Да как ты его не парси, все равно парсить произвольные структуры а-ля XML всегда сложнее чем парсить однопроходный жестко-регламентированный формат сериализации." В Zend_Cache то же самое пишут, хотя на деле все, мягко говоря, наоборот получается.
 

ustas

Элекомист №1
и учитывать ресурсы которые пойдут на обработку данных, память, загрузку процессора, для некоторых это неактуально.
 
Сверху