Я занимаюсь созданием страницы прототипа за последние несколько месяцев, которая использует большое количество SVG и имеет множество элементов в целом. Существует также тонна данных, обрабатываемых как на JavaScript, так и на стороне сервера (много AJAX). На странице присутствуют тысячи слушателей событий. Это довольно тяжело, дело.Каковы пределы повышения производительности JavaScript?
Одним из самых больших препятствий для выполнения подобных действий в JS является однопоточность, которая блокирует страницу, когда мне приходится выполнять, скажем, 10 секунд вычислений. Существуют некоторые стратегии для исправления этого, но пока веб-рабочие не поддерживаются IE, не так уж много элегантного решения. Кроме того, страница может использовать более 500 МБ памяти, с которой Chrome, похоже, время от времени сталкивается.
Что мне интересно, это возможность создания чего-то подобного в JavaScript. Мой код далеко не оптимизирован, но давайте просто предположим, что загрузка этой страницы теперь выполняется именно так, как требуется, или, скажем, требует большего.
Предположим также, что для использования приложения потребуется как минимум рабочий стол средней дальности.
Неужели люди так сильно нажимают на JavaScript? Каковы пределы того, что можно ожидать от использования памяти и производительности процессора? Сколько должно быть сделано на стороне клиента или на стороне сервера?
EDIT: Я предполагаю, что это было неизбежно, если бы каждый человек неправильно истолковал вопрос. Я не прошу совета по , как оптимизировать код JS. Я спрашиваю , сколько обработки и данных разумно обрабатывать на клиенте. ДА это зависит от аппаратного обеспечения, на которое я пытался ответить, говоря настольных компьютеров среднего класса с новейшими браузерами,, но на самом деле это не главное. Я хочу знать концептуально насколько мощным является JavaScript для тяжелой обработки. Можно ли вообще выполнять тяжелую обработку в JavaScript?
Я надеюсь, что все получат его сейчас. Это соотношение сторон сервера и клиента. Если мне нужно запустить цикл с 1000000 итерациями и ASSUMING, нет никакой стоимости в выборе между выполнением X-итераций в JS и Y-итерациях на сервере, Насколько разумно ожидать, что JavaScript будет обрабатываться?
Если на странице используется 500 МБ памяти, вам нужно начинать с нуля – Ibu
Люди постоянно нажимают javascript на свои «ограничения», почти всегда через неэффективный код. Из вашего собственного описания, первое, что вам нужно сделать, это попытаться оптимизировать происходящее. Вы можете обнаружить, что одно изменение может освободить тысячи блокирующих вызовов DOM или что-то еще, но невозможно реально сказать, что происходит в вашем случае без глубокого анализа. –
В ответ на комментарий к памяти это переменная. Один модуль SVG является средством просмотра геометрии. Таким образом, больше геометрии = больше памяти, и мне интересно, в какой момент вам нужно начинать работу над оптимизацией вычислительного геометрия. Если 500 Мбайт слишком велико, то какова максимальная разумная сумма? –