169 похожих чатов

Первый вопрос: Мне надо обрабатывать 100к (вообще, вероятно меньше, но

пусть будет запас) сложных объектов. Причем и на вход обработки - 100 и на выход 100. И обработка может быть тяжелая, долгая. Как мне это провернуть в WebWorker?
Очевидные спосообы: сериализовать все пачкой (но, может оно тормозить будет); сериализовать по одному/чанку.
Неочевидные - может это как то можно передать по ссылке, сериализовав в бинарные данные?
Может как то еще можно?
Главное не сильно блочить основной поток

Второй вопрос (уже прям совсем про vue):
Эта долгая обработка может быть инициирована с экшена. Сами по себе экшены то асинхронные, все в порядке, но что если действия пользователя приведут к повторному запросу на расчет. Тогда можно построить расчеты точно так же как для vue - декларативно. Запросы а-ля мутации накапливаются в воркере, когда воркер освобождается - он рассчитывает сразу всю пачку мутаци, пока рассчитывает - набираются остальные.
Можете ли вы что то подсказать про такой подход?

4 ответов

15 просмотров

а это точно надо делать на фронте? :)

Lev-Shagalov Автор вопроса
Denisio
а это точно надо делать на фронте? :)

Да, до сервера предполагается плохой инет. А какая для ui разница, что в воркер что на сервер - все равно сериализовать. Хотя в воркер - может и схитрить как то можно с буферами

Lev-Shagalov Автор вопроса
Nick Romanovscky
Клиент будет отмирать знатно)

Ну вот, хочется что бы не отмирало. Вроде бы только на сериализацию тратить. Но ее можно на части разбить.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта