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

А child_process при форканьи использует разные ядра? Что-то такое чувство

что тоже самое, не заметил прироста скорости обработки

26 ответов

27 просмотров
Ростислав ✚- Автор вопроса

Что-то типа того, просто есть большой синхронный просчёт масива на полторы минуты, вот пытаюсь как-то разбить

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

Ростислав ✚- Автор вопроса

Я уже написал с child_process, но что-то какая-то фигня получается, процесов стало больше, каждый делат свою часть и возвращает результат, но такое чувство что они одно ядро нагружают и быстрей не становиться(

John Doe
тогда child_process даст тебе то, что ты хочешь. Н...

Workers (threads) are useful for performing CPU-intensive JavaScript operations. They do not help much with I/O-intensive work. The Node.js built-in asynchronous I/O operations are more efficient than Workers can be.

Ростислав ✚
Что-то типа того, просто есть большой синхронный п...

Разбей на чанки и посчитай каждый в своем треде https://nodejs.org/api/worker_threads.html

Ростислав ✚- Автор вопроса
Михаил Золотарёв
Разбей на чанки и посчитай каждый в своем треде h...

Я разбиваю и каждый считаю в своём процесе, разве эффект не тот же самый должен быть?

Ростислав ✚
Я уже написал с child_process, но что-то какая-то ...

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

Ростислав ✚- Автор вопроса
John Doe
Само вычисление быстрее не будет. Суть в том, что ...

Пусть забивает главное что бы как можно быстрей)

Ростислав ✚- Автор вопроса
John Doe
Само вычисление быстрее не будет. Суть в том, что ...

В общем по сути это способ сделать синхронный просчет асинхронным а не то что я подумал?)

Ростислав ✚
Пусть забивает главное что бы как можно быстрей)

child_process - это создание ДОЧЕРНЕГО процесса в рамках ОСНОВНОГО процесса Другими словами использоваться будет одно и то же ядро. Если ты хочешь ускорить - напиши программу на C++, вызови её через child_process для твоего массива и верни управление обратно в ноду

Ростислав ✚- Автор вопроса
Михаил Золотарёв
child_process - это создание ДОЧЕРНЕГО процесса в ...

Я не знаю плюсы, после универа больше не пользовался, как мне просто заставить ноду использовать дополнительные ядра для обчисления? Использовать worker_threads?

Михаил Золотарёв
child_process - это создание ДОЧЕРНЕГО процесса в ...

Чего? Нужно максимально просто решить задачу и все, node api лишнее

Можешь использовать cluster и каждый инстанс бить ещё на треды

Ростислав ✚- Автор вопроса
Михаил Золотарёв
Можешь использовать cluster и каждый инстанс бить ...

Понял, теперь хотя бы есть маяк куда двигаться) Буду пробовать

Откуда инфа, что child process привязывается к ядру основного процесса?

Dmitry Croft
ага

Ну, тогда они что-то странное говорят.

Михаил Золотарёв
child_process - это создание ДОЧЕРНЕГО процесса в ...

Про то, что выбор ядра для исполнения процесса свободный, уже упомянули, а я на всякий случай ещё скажу что дочерний в этой терминологии не более чем порождённый. Можно создать процесс, жизненный цикл которого не связан с породившим его

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

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

а через 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
Карта сайта