Как бороться с большой -нагрузкой при обработке отображаемых данных в браузере

Контекст

  • У нас есть приложение на базе Ember -, которое обрабатывает большие объемы структурированных данных (Модели бизнес-процессов ).
  • Важный! Нам бы очень хотелось, чтобы наше приложение -работало в автономном режиме, насколько это возможно.

Необходимость

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

Но теперь мы хотим применить обработку к этим моделям :, проверку правильности, поиск путей... и несколько алгоритмов, потребляющих время/память.

Проблема

Мы могли бы обрабатывать алгоритмы на сервере, но это убило бы автономный режим приложения.

Мы думали о веб-воркерах, чтобы избежать зависания приложений и алгоритмов процессов в фоновом режиме, но столкнулись с серьезной проблемой :дублированием данных при передаче данных в воркер. Использование Transferable Objects приведет к тому, что приложение потеряет права собственности (и данные ), по крайней мере, во время вычислений, поэтому это не кажется жизнеспособным.

Как бы вы справились с этой проблемой?Является ли нашим единственным выходом использование «сопрограммы -подобной» реализации наших алгоритмов? Любая подсказка?

6
задан Mike Aski 28 June 2012 в 15:41
поделиться