тогда еще последний вопрос - как лучше всего запрофайлить этот "cpu-heavy" код? есть ли какой то инстурмент который может показать визуально какие именно участки кода больше всего потребяют процессорного времени))? подойдет ли дефолтный встроенный профайлер в ноду, если он есть?
Но я думаю, что тут проблема не в памяти будет сначала, поэтому можно локально просто через performance.now измерить хотя бы то, сколько занимает выполнение алгоритма при разном размере данных
Потестить алгоритм локально в синтетических условиях будет проще (если ботлнек реально в нем), потому что можно будет смотреть, как он себя с разными данными ведет, а не ждать, пока юзер что-то сделает)
Либо как следующий этап можно поставить уже на прод какой-то модуль для трейсинга производительности, но если прод и так себя не очень чувствует, то с ним будет только хуже