что тоже самое, не заметил прироста скорости обработки
Что-то типа того, просто есть большой синхронный просчёт масива на полторы минуты, вот пытаюсь как-то разбить
тогда child_process даст тебе то, что ты хочешь. Но лучше использовать worker_threads, потому что потоки легче в плане потребления ресурсов
Я уже написал с 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
Я разбиваю и каждый считаю в своём процесе, разве эффект не тот же самый должен быть?
Само вычисление быстрее не будет. Суть в том, что вычисления будут проходить паралельно и не забивать основной процесс
Пусть забивает главное что бы как можно быстрей)
В общем по сути это способ сделать синхронный просчет асинхронным а не то что я подумал?)
child_process - это создание ДОЧЕРНЕГО процесса в рамках ОСНОВНОГО процесса Другими словами использоваться будет одно и то же ядро. Если ты хочешь ускорить - напиши программу на C++, вызови её через child_process для твоего массива и верни управление обратно в ноду
Я не знаю плюсы, после универа больше не пользовался, как мне просто заставить ноду использовать дополнительные ядра для обчисления? Использовать worker_threads?
Чего? Нужно максимально просто решить задачу и все, node api лишнее
Можешь использовать cluster и каждый инстанс бить ещё на треды
Понял, теперь хотя бы есть маяк куда двигаться) Буду пробовать
Откуда инфа, что child process привязывается к ядру основного процесса?
Они говорят об ядре процессора ведь?
cluster работает через тот же child_process
Ну, тогда они что-то странное говорят.
а тем более кластерами
Про то, что выбор ядра для исполнения процесса свободный, уже упомянули, а я на всякий случай ещё скажу что дочерний в этой терминологии не более чем порождённый. Можно создать процесс, жизненный цикл которого не связан с породившим его
Да, это хорошее уточнение
Что значит в рамках основного процесса?
Обсуждают сегодня