Управляемый язык для научных вычислительных программ - PullRequest
5 голосов
/ 24 сентября 2008

Научные вычисления требуют большого количества алгоритмов и данных. Часто необходимо использовать много памяти для запуска анализа и выпуска его, прежде чем перейти к следующему. Иногда он также использует пул памяти для перезапуска памяти для каждого анализа. Здесь интересен управляемый язык, поскольку он позволяет разработчику сосредоточиться на логике приложения. Поскольку может потребоваться работа с огромным набором данных, производительность также важна. Но как мы можем контролировать память и производительность с помощью управляемого языка?

Ответы [ 12 ]

0 голосов
/ 24 сентября 2008

Из-за накладных расходов приложение .NET понесет снижение производительности по сравнению с неуправляемым приложением. Однако, поскольку эти издержки более или менее являются постоянной величиной, не связанной с общим размером приложения ( ПРЕДУПРЕЖДЕНИЕ: чрезмерное упрощение ), они становятся относительно менее штрафными, чем больше приложение.

Так что я бы пошел с .NET (при условии, что он предоставляет вам необходимые библиотеки). Управление памятью - это боль, и вам нужно много делать, чтобы преуспеть в этом. В .NET выберите любой язык, который вам удобнее, если это не J # или VB.NET, а C #.

0 голосов
/ 24 сентября 2008

С управляемым языком вам не так легко получить этот контроль. Весь смысл в этих языках заключается в обработке malloc, мусора и так далее. Каждый управляемый язык будет обрабатывать это по-своему.

Если в Perl не хватает памяти, это считается фатальной ошибкой. Вы можете сэкономить день, используя небольшую меру с $ ^ M, но это только в том случае, если ваш компилятор был скомпилирован с этой функцией, и вы добавили в него положения кода.

...