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

Если у меня есть newFixedThreadPool, то мне для запуска всех

потоков нужно что ли вручную n-раз вызвать execute?
Может уже что-то готовое есть, чтобы таска сразу во всех потоках запускалась?

24 ответов

11 просмотров

вы хотите распараллелить выполнение одной таски?

Антон
да

хотите чтобы прям одна таска сама ускорилась или она все же с разными параметрами например запускается? или может вам достаточно еще 10 раз запустить чтобы получить эффект?

Антон- Автор вопроса
Nick
хотите чтобы прям одна таска сама ускорилась или о...

я хочу читать из базы в нескольких потоках. т.е. сейчас я ее прохожу за n минут, а хочу за n/3 например. я так понимаю запускаться они все будут с одинаковыми параметрами, но в процессе они будут изменять currentPage

Антон
я хочу читать из базы в нескольких потоках. т.е. с...

вы уверены что проблема с вычиткой из бд? замеры делали?

Антон- Автор вопроса
Nick
вы уверены что проблема с вычиткой из бд? замеры д...

да, по 2-3 секунды запросы выполняются. на локальной базе все мгновенно происходит

Антон- Автор вопроса
Alexander Komarov
дурная затея.

знаю, что не огонь. но пока ничего лучше не придумал. Есть какие-нибудь предложения?

Антон
да, по 2-3 секунды запросы выполняются. на локаль...

оптимизация запроса в БД проводилась?

Антон
знаю, что не огонь. но пока ничего лучше не придум...

для начала посмотреть какой запрос летит в базу и на чем он там висит. если не умеете сами, попросите ДБА/разработчика БД

Антон- Автор вопроса
Nick
оптимизация запроса в БД проводилась?

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

Антон
да.ну как минимум я пытался ) сначала на локальной...

объем данных какой? и настраивались ли индексы

Антон- Автор вопроса
Alexander Komarov
для начала посмотреть какой запрос летит в базу и ...

висит, в смысле что именно долго выполняется? база монга

Антон- Автор вопроса
Nick
объем данных какой? и настраивались ли индексы

индексы есть. сейчас глянул количество документов. локально - 18 млн, на удаленной 186 млн

Антон
да.ну как минимум я пытался ) сначала на локальной...

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

Антон
индексы есть. сейчас глянул количество документов...

и последний вопрос, у вас БД упирается в диски при выполнении запроса?

Антон
индексы есть. сейчас глянул количество документов...

и сколько из них попадают в вашу выборку?

Антон- Автор вопроса
Антон
около 16 млн

не ускорите

Антон
так а делать то что?

посмотреть где висит на стороне базы. оптимизировать базу. если не выходит, то подумать что или база плохо спроектирована под запросы или вы хотите функционал, который изначально не предполагался при проектировании. попросить помочь лида/базиста, если есть.

Alexander Komarov
дурная затея.

Если шардинг в базе есть, то недурна,

Woof Собач
Если шардинг в базе есть, то недурна,

Ясен перец. Но если бы человек знал про шардирование он бы такие вопросы не спрашивал.

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

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

а через 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
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
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
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта