К примеру есть данные html страницы + js + css и это все храниться в объектах js, которых может быть десятки тысяч.
В итоге нужно будет получить большую строку и запихнуть ее в файл.
Какой вариант парсинга больших данных будет быстрее работать?
1) Все объекты с данными обработать в самом js и передать уже готовую строку аяксом в php и получить оттуда файл.
2) Передать все объекты в JSON формате аяксом на сервер php, и там уже из данных получить строку и закинуть ее в файл?
Как я понимаю парсинг будет быстрее работать на js при условии что у клиента хороший компьютер, с телефона будет беда. А вот на php будет стабильность, если вся обработка будет на сервере то не важно с какого устройства будет клиент, на производительность будет влиять качество сервера. Это только мои мысли, точно я в этом не уверен.
Насколько большую строку? По сути, вопрос упирается в "быстрее ли передать строку, или обработать на клиенте?". А ответ на него зависит непосредственно от объема передаваемых данных (ну и скоростей интернета у клиентов, но тут проще)
ах да, про телефоны, планшеты, да и про слабые компьютеры, объектов может быть и 10тыс и 50 =))) вот по этому я подумал что на слабых устройствах могут быть проблемы с парсингом, мало того, что и так память будет хорошо заполнена, так еще и цикл с десятками тысяч операций для парсинга, не убьет ли это слабое устройство? =)))
у меня нет слабых машин, я не могу в полной мере все протестировать =(((
virtualhero: а каков размер самих объектов? Если каждый по десятку байт - то не проблема, передача полуметра не является критичной в современной реальности. Но вообще, такие объемы лучше либо обрабатывать на клиенте, либо на него вообще не передавать
virtualhero: я не знаю задач, поэтому могу только догадываться об оптимальном решении. Обычно, подобные задачи полагают на сервер - он загружает объекты (не от клиента, а от источников), он же их парсит, а возвращает только результат. Если в качестве источника объектов выступает сам клиент (файлы на его устройстве), то их надо сразу передавать на сервер, а не пытаться обработать на клиенте
я интересовался о передачи на сервер из соображений производительности, я же отписал ниже почему у меня этот вопрос возник. хочу подтвердить/исключить мои соображения:
Как я понимаю парсинг будет быстрее работать на js при условии что у клиента хороший компьютер, с телефона будет беда. А вот на php будет стабильность, если вся обработка будет на сервере то не важно с какого устройства будет клиент, на производительность будет влиять качество сервера. Это только мои мысли, точно я в этом не уверен.
virtualhero: Так на клиенте эти данные есть, вы больше времени потратите на пересылку. А так все зависит от того что вы собираетесь делать с данными, если сложные операции, то сервер. Если текст в json , то и на клиенте можно, к примеру через worker
ах да, про телефоны, планшеты, да и про слабые компьютеры, объектов может быть и 10тыс и 50 =))) вот по этому я подумал что на слабых устройствах могут быть проблемы с парсингом, мало того, что и так память будет хорошо заполнена, так еще и цикл с десятками тысяч операций для парсинга, не убьет ли это слабое устройство? =)))
у меня нет слабых машин, я не могу в полной мере все протестировать =(((
virtualhero: Если бы знать какие операции. Я не стал бы хранить много данных, можно слать их частями на сервер, в базу к примеру. А потом все дернуть в файл. Это все зависит от того как вы данные получаете.
мне важна производительность, я выше Алексею Шашенкову отписал это:
ах да, про телефоны, планшеты, да и про слабые компьютеры, объектов может быть и 10тыс и 50 =))) вот по этому я подумал что на слабых устройствах могут быть проблемы с парсингом, мало того, что и так память будет хорошо заполнена, так еще и цикл с десятками тысяч операций для парсинга, не убьет ли это слабое устройство? =)))
у меня нет слабых машин, я не могу в полной мере все протестировать =(((