Медленный getChunk
Добрый день all!
При прогонке набора объектов (~30) через getChunk генерация занимает 0,2 сек. При увеличении объектов, конечно время генерации безобразно растет. Если непосредственно в сниппете формировать html, без getChunk, время 0,07 сек, на том же наборе объектов. Но не хочется мешать php и HTML. В чанк передаются 5 параметров, без фильтров. возможно ли как то сделать генерацию побыстрее, или смирится с этой особенностью modx?
При прогонке набора объектов (~30) через getChunk генерация занимает 0,2 сек. При увеличении объектов, конечно время генерации безобразно растет. Если непосредственно в сниппете формировать html, без getChunk, время 0,07 сек, на том же наборе объектов. Но не хочется мешать php и HTML. В чанк передаются 5 параметров, без фильтров. возможно ли как то сделать генерацию побыстрее, или смирится с этой особенностью modx?
Комментарии: 22
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
sql = «SELECT .....»
$q = new xPDOCriteria($modx, $sql);
$pdo = $modx->getService('pdoFetch');
$rows = $pdo->getCollection('modResource', $q);
foreach ($rows as $row) {
print_r($row->toArray());
}
Но дает 500 ошибку.
при этом если
foreach ($rows as $row) {
echo $row;
}
пишит что ArrayArrayArrayArray…
А генерацию через $pdo = $modx->getService('pdoFetch'); $pdo->getChunk
Разница по времени не сумашедшая конечно, но есть.
На 30 объектах время сократится раза в 2.
Правда, оно уже устарело, сейчас лучше использовать сразу синтаксис Fenom — и богаче и быстрее.
Но мой кусок кода будет чуть-чуть быстрее только из-за многочисленных проверок методов класса pdoFetch, сделанных для универсальности и проверки разных условий.
П.С. Кстати, ты проверил годовые периоды?
П.П.С. И еще хотел сказал про феном, но Василий уже ответил.
П.С. Прошу прощения у автора за оффтоп.
Уверен, разница будет в разы, потому что ты именно что разбираешь все теги через текущий парсер. Если это modParser, то он будет создавать объект на каждый тег и вызывать из него process() — отсюда тормоза.
Ну а если включен pdoParser, то он помогает в обработке любого чанка. В pdoTools с версии 2.0 он включен по умолчанию.
Выбери время, проверь как работает твой код без pdoParser.
Поэтому сам пользуюсь pdoTools и другим советую.
П.С. А почему письма приходят на английском?
Пока что лексикон зависит от отправляющего, а не принимающего, ибо в профиле MODX нет поля для его языка и я не могу прописать его проверку в дополнениях.
Вот поправленный вариант