alexdeg
@alexdeg
Новатор

Имеет ли смысл на NodeJSделать большое количество вычислений?

Как эффективно на NodeJS выполнять большое количество вычислений с плавающей точкой?, подскажите модули)) без TS и прочих трансплайтеров.

Насколько я знаю JS для расчетов с плавающей точкой подходит плохо, верно?
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
riky
@riky
Laravel
"TS и прочих трансплайтеров."
они тоже компилируются в js и скорость получается та же. (хотя возможно какие то из них используют типизированные массивы, см ниже)

любые библиотеки отпадывают по той же причине. единственный бонус от библиотек может быть при работе с гигансткими числами.

насколько я помню в ноде числа все int32. когда целое число превышает эти рамки оно превращается в float где младшие разряды (для целых числе) сохраняются вплоть до 2^59 вроде бы, это весьма неплохо.

по поводу оптимизации в библиотеках связаных с мощными вычислениями (3д математика) (на фронтенде) часто используют типизированные массивы типа Int32Array как минимум меньше памяти и возможно более оптимизированные вычисления. самому интересно что есть на серваке в этом плане.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@lem_prod
JS не точно проводит вычисления, например:
(0.1 + 0.2) === 0.3 // false, потому что 0.1 + 0.2 = 0.30000000000000004


тут подробней https://learn.javascript.ru/number#неточные-вычисления

а по поводу производительности, ничего не утверждаю, но js должен показать себя хорошо, особенно если много асинхронных вычислений.
Ответ написан
Комментировать
vitali1995
@vitali1995
Насколько я знаю, node.js может получить доступ к видеокарте, которая отлично подходит для сложных распределённых вычислений. Если разберётесь с этой темой - отпишитесь, буду благодарен)

Кроме этого, всегда можно написать библиотечку на С++, которая легко встраивается в окружение node.js.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час