Сложные расчеты
От: merge  
Дата: 03.04.22 10:23
Оценка:
Есть проект на .net core
Нужно на приличном объеме данных 100К записей произвести сложные математические расчёты.
Формула для расчета поля на пол экрана монитора.
Какой язык уместен для сложных матрасчетов? Думал что на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон может или что там хорошо и быстро работает с математикой.
или сразу с фронта передавать в спец сервис по расчетам
Re: Сложные расчеты
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 03.04.22 13:29
Оценка: +3
Здравствуйте, merge, Вы писали:

M>Есть проект на .net core

M>Нужно на приличном объеме данных 100К записей произвести сложные математические расчёты.
M>Формула для расчета поля на пол экрана монитора.
M>Какой язык уместен для сложных матрасчетов?
Тот который знаком вам и другим читателям вашего кода.

M>Думал что на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон может или что там хорошо и быстро работает с математикой.

Хорошо и быстро работает C, иногда C++, все остальное работает плохо и медленно.

M>или сразу с фронта передавать в спец сервис по расчетам

А может сначала померить как оно работает в простом варианте? Из ваших цифр непонятно.
Re: Сложные расчеты
От: ArtDenis Россия  
Дата: 03.04.22 13:53
Оценка: -1
Здравствуйте, merge, Вы писали:

M>Формула для расчета поля на пол экрана монитора.

Размер формулы ничего не говорит о сложности расчётов. Какие операции есть в расчётах?

M>Какой язык уместен для сложных матрасчетов?

Скрипты matematica, matlab, matcad или питон? Вроде как для сложных расчётов больше ничего особо и не придумали
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re: Сложные расчеты
От: vsb Казахстан  
Дата: 03.04.22 18:52
Оценка: +3 :))
Fortran
Re: Сложные расчеты
От: Слава  
Дата: 03.04.22 19:57
Оценка: 3 (2) +6 :)
Здравствуйте, merge, Вы писали:

M>Какой язык уместен для сложных матрасчетов?


Напишите на шарпе и проверьте скорость работы. Может вам этого вполне хватит. Шарп вообще-то быстрый.

Если хочется харкора, для математики есть Chapel. Напишите эту формулу на Chapel и передавайте строки по 100 штук за раз из шарпа, с помощью обычного внешнего вызова.

На С/С++ математику пусть пишут старые опытные мазохисты. У них там виртуальный деструктор, RAII и make, они всё это грызут десятилетиями и никак не доедят.

M>передавать в какой-то питон может или что там хорошо и быстро работает с математикой.


Питон не работает с математикой хорошо и быстро. Он вызывает внешние библиотеки, написанные не на питоне.
Re[2]: Сложные расчеты
От: swame  
Дата: 03.04.22 21:08
Оценка: +1 :))
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, merge, Вы писали:


M>>Формула для расчета поля на пол экрана монитора.

AD>Размер формулы ничего не говорит о сложности расчётов. Какие операции есть в расчётах?

"Расчет поля" пишет. Видимо, что-то сельскохозяйственное.
Может 1С надо?

M>>Какой язык уместен для сложных матрасчетов?

AD>Скрипты matematica, matlab, matcad или питон? Вроде как для сложных расчётов больше ничего особо и не придумали
Re[3]: Сложные расчеты
От: Gadsky Россия  
Дата: 04.04.22 08:52
Оценка: +2
Здравствуйте, swame, Вы писали:

M>>>Формула для расчета поля на пол экрана монитора.

S>"Расчет поля" пишет. Видимо, что-то сельскохозяйственное.
S>Может 1С надо?

Поди поле-то то маааленькое.
Re: Сложные расчеты
От: kov_serg Россия  
Дата: 04.04.22 11:35
Оценка: +1 :)
Здравствуйте, merge, Вы писали:

M>Есть проект на .net core

Так на нём и считайте, в чем проблема?
M>Нужно на приличном объеме данных 100К записей произвести сложные математические расчёты.
пусть строка 1000 символов. => 100Mb данных
M>Формула для расчета поля на пол экрана монитора.
Такая?

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

M>Какой язык уместен для сложных матрасчетов? Думал что на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон может или что там хорошо и быстро работает с математикой.

M>или сразу с фронта передавать в спец сервис по расчетам
Сразу передавайте "спец сервис" который не боится испачкать руки.
Re: Сложные расчеты
От: vaa  
Дата: 04.04.22 11:45
Оценка:
Здравствуйте, merge, Вы писали:

M>Есть проект на .net core

M>Нужно на приличном объеме данных 100К записей произвести сложные математические расчёты.
M>Формула для расчета поля на пол экрана монитора.
M>Какой язык уместен для сложных матрасчетов? Думал что на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон может или что там хорошо и быстро работает с математикой.
M>или сразу с фронта передавать в спец сервис по расчетам

nn@lx:~$ dotnet fsi

Microsoft (R) F# Interactive version 12.0.0.0 for F# 6.0
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

> let qrt x = x * x;;
val qrt: x: int -> int

> qrt 10;;
val it: int = 100

>


ЗА:
1. компактная запись
2. интерактивная отладка
3. 100% совместимость
4. корректность благодаря строгой явной типизации

написать библиотеку и дергать ее в основном коде.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Сложные расчеты
От: Буравчик Россия  
Дата: 04.04.22 13:34
Оценка:
Здравствуйте, merge, Вы писали:

M>Какой язык уместен для сложных матрасчетов? Думал что на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон может или что там хорошо и быстро работает с математикой.


Самое быстрое по скорости выполнения — С/С++. Если нужно быстрее, то с использованием AVX. Если еще быстрее — то с использованием GPU.

Но для начала можно начать с питона — использовать numpy. Это будет медленнее выполняться, но сильно проще реализовать.
Может и хватит скорости. В дальнейшем, при необходимости перехода на Си, эту реализацию можно использовать для тестирования.

Полагаю, что это все хорошо параллелиться. Если нет — то только С/С++.
Best regards, Буравчик
Re: Сложные расчеты
От: no_ise  
Дата: 04.04.22 15:14
Оценка:
Здравствуйте, merge, Вы писали:

M>Есть проект на .net core

M>Нужно на приличном объеме данных 100К записей произвести сложные математические расчёты.
M>Формула для расчета поля на пол экрана монитора.
M>Какой язык уместен для сложных матрасчетов? Думал что на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон может или что там хорошо и быстро работает с математикой.
M>или сразу с фронта передавать в спец сервис по расчетам

Нуу, первым делом нужно понять, насколько эти сложные рассчеты будут распааллелены...
Например, будет ли формула применяться одновременно к различным выборкам данных...
Или, будет ли частично распараллелено вычисление формулы на ее аргументах...
Re: Сложные расчеты
От: _FRED_ Черногория
Дата: 17.08.22 10:26
Оценка:
Здравствуйте, merge, Вы писали:

M>Есть проект на .net core

M>Нужно на приличном объеме данных 100К записей произвести сложные математические расчёты.
M>Формула для расчета поля на пол экрана монитора.
M>Какой язык уместен для сложных матрасчетов?

Почему этот объём данных считается большим? Трудность обьычно представляет не объём входных данных, а объём вычислений: если можно просчитать результат за один проход по данным, это одно, а если сложность квадратичная или кубическая — то совсем другое.

Тут надо выбрать язык, которым разработчик достаточно хорошо владеет с одной стороны чтобы выразительно переложить эту сложную формулу в понятный код (тут наверное, почти любой язык подойдёт) и, с другой, чтобы это понятный код максимально быстро бы выполнялся.

M>Какой язык уместен для сложных матрасчетов? Думал что на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон может или что там хорошо и быстро работает с математикой.

M>или сразу с фронта передавать в спец сервис по расчетам

Мне кажется, на ".net core" прям и можно это всё попроборать реализовать. Если производительность не устроит, тогда уже надо думать, как её повысить.
Help will always be given at Hogwarts to those who ask for it.
Re: Сложные расчеты
От: sergii.p  
Дата: 30.08.22 13:26
Оценка:
Здравствуйте, merge, Вы писали:

M>Есть проект на .net core

M>Нужно на приличном объеме данных 100К записей произвести сложные математические расчёты.
M>Формула для расчета поля на пол экрана монитора.
M>Какой язык уместен для сложных матрасчетов? Думал что на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон может или что там хорошо и быстро работает с математикой.
M>или сразу с фронта передавать в спец сервис по расчетам

можно посмотреть в сторону Rust как альтернативу С++. В релизе Rust убирает проверки на переполнения и работает сравнимо с C++. Ко всему прочему такой код легко будет встроить в .net программу (rnet). И параллелизация вычислений сделана довольно классно (библиотека rayon).

Но я не верю что и в .net можно сильно провалиться. Всё-таки это чистая математика, GC не должен сильно повлиять. Ставим unchecked и погнали.
Re: Сложные расчеты
От: Osaka  
Дата: 30.08.22 13:34
Оценка:
M>на бэк будет приходить этот набор из 100К строк, дальше парсить в джсон и передавать в какой-то питон
Он с БД работать неужели не умеет?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.