2013-06-13 5 views
0

Мне нужно создать около 10 тыс. Элементов, когда пользователь посещает мой сайт, его вид большого дерева, такого как <ul> и <li>.Создание множества элементов DOM. какой метод быстрее? Эхо по HTML или с использованием класса PHP DOM?

Процесс создания HTML в настоящее время занимает около 15 секунд, я создаю HTML в массиве, затем json_encode и повторяю его.

Я пытаюсь сократить процесс. мой вопрос:

было бы быстрее использовать класс php's DOM для создания элементов.

или просто создать HTML-код и отобразить его?

+0

Его просто HTML-код для чего-то типа JStree и вложен, но спасибо за ввод –

+0

Есть ли способ создать список один раз в час (например), а затем кэшировать html в файл? – Dale

+0

Вы уверены, что это процесс создания, который занимает 15 секунд или это фактическая передача сети с сервера на вас, что занимает 15 секунд? –

ответ

1

15 секунд для создания и json_encode 10K элементов .. это не может быть прав. Шея бутылки, несомненно, здесь не PHP. Откуда берутся эти данные, база данных? В одном запросе или встроенных запросах в цикле? Можно ли кэшировать данные? Если да, сделайте это.

Перед тем, как оптимизировать, вам необходимо правильно протестировать, то, что вы пытаетесь сделать сейчас, - это отрезать миллисекунды от операции, которая занимает 15 секунд.

0

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

было бы так трудно выяснить, для себя?

Почему вы создаете свои данные как структуру данных json?

Несомненно, вы не переводите его обратно в HTML на PHP?

Почему бы просто не написать PHP?

Профилировали ли вы свой код, чтобы убедиться, что медленный бит генерирует результат, а не извлекает вход?

Кто собирается читать 10-балльные баллы?

Вы не показали нам никакого кода - и я не знаю, почему и как вы используете JSON. Но использование промежуточных структур данных (DOM или JSON) будет значительно медленнее, чем запись непосредственно в выходной буфер.

+0

было бы сложно попробовать себя - в основном придется переделать все, что я сделал до сих пор, хотя спрашивал, прежде чем делать еще одну ошибку, казалось, что это была правильная идея, когда я сделал это, что оказалось неправильным, тем, что люди говорят здесь, я предполагаю, что мне придется только PHP. Что касается показа кода, это был общий вопрос, чтобы узнать, какой подход принять все. –

0

Похоже, что это простая иерархия DOM; просто эхо!

Смежные вопросы