Сколько внешних данных слишком много? (XML или JSON) - PullRequest
2 голосов
/ 08 февраля 2010

Ранее я писал чистые интерфейсы JavaScript и начал замечать снижение производительности при работе с большими хранилищами данных. Я пробовал использовать xml и json, но в обоих случаях браузеру было сложно справиться.

Это ставит мой вопрос: сколько это слишком много?

Ответы [ 4 ]

3 голосов
/ 08 февраля 2010

Ты не можешь знать, не совсем и не всегда. Вы можете сделать хорошее предположение.

Это зависит от браузера, ОС, ОЗУ, ЦП, от того, что еще работает в данный момент, от скорости их соединения, что еще они передают и т. Д.

Выясните несколько ситуаций, которые вы ожидаете от своего среднего пользователя, и протестируйте их. Добавьте для различных лучших, худших и интересных (например, мобильных, планшетных) чехлов.

Конечно, вы можете применить опыт и экстраполировать ваши конкретные случаи, и ответ изменится в будущем.


Но не попадитесь в ловушку "это работает для меня!"

Я обычно вижу это с разрешениями экрана: по мере того, как они увеличиваются, гораздо популярнее видеть одновременно несколько окон. В 1995 году для меня было редкостью, чтобы не что-то максимизировало; теперь, пятнадцать лет спустя, с точностью до наоборот.

Однако иногда люди разрабатывают какое-то программное обеспечение или веб-сайт, используют более низкий контраст [1] , максимизируют его и подключаются к серверу на локальном хосте - и это единственная оценка, которую они делают.

[1] Поскольку они знают, что говорится в тексте, и им не нужно его читать, поэтому более низкий контраст выглядит эстетически лучше.

2 голосов
/ 08 февраля 2010

Хороший руководящий принцип должен заключаться в том, что вместо того, чтобы беспокоиться о том, сможет ли браузер 1002 * обработать объем отправляемых вами данных, позаботьтесь о том, сможет ли ваш пользователь справиться с этим. Конечно, все зависит от представления (т. Е. Большое количество данных, привязанных к инструменту визуализации, который будет отображать сложный граф на холсте, отличается от множества необработанных чисел, привязанных к гигантской таблице), но по моему опыту Мозг пользователя достигает перегрузки данными до браузера / сети / клиентского компьютера.

2 голосов
/ 08 февраля 2010

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

Я рекомендую использовать Firefox с Firebug для выполнения некоторых измерений. Посмотрите, сколько времени требуется для выполнения запроса в скромной конфигурации. Если для визуализации данных браузеру требуется значительное время, лучше выполнить редизайн.

0 голосов
/ 08 февраля 2010

Это действительно зависит от формы, которую ваши внешние данные примут в вашем Javascript. Если вы хотите загрузить все свои данные сразу и сохранить их в памяти как большой объект с большим количеством свойств (ассоциативный массив), то вы обнаружите, что большинство современных рабочих столов могут обрабатывать только около 100 тыс. Записей (с небольшими парами ключ-значение) прежде чем производительность действительно ухудшается.

Если это возможно, вы должны посмотреть, есть ли способы загрузить только те данные, которые нужны пользователю для данного запроса / взаимодействия. Вы можете использовать AJAX для запроса необходимых данных и данных предварительной выборки, которые, по вашему мнению, могут понадобиться пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...