Библиотека численных методов. Какой инструмент выбрать?
Добрый день! Задача состоит в написании узкоспециализированной, эффективной по затратам памяти и процессорного времени, скорее всего, распараллеленой библиотеки методов численной оптимизации. Вопрос состоит в выборе инструмента. Было бы очень хорошо сделать форк уже существующей библиотеки и дописать свои методы. Мой кругозор, к сожалению, ограничен с/с++ и java. Я склоняюсь к c/c++. Впоследствии можно обернуть либу с помощью JNA, например.
1) Какой язык выбрать? C/C++ vs Java. Ваш вариант? Почему?
2) Java не полностью поддерживает стандарт вычислений с палавающей запятой, но на ней легче решить задачу? Опять же GC в этой отношении не дает покоя. У C/C++ огромное число библиотек, но, исходя из необходимости высокой эффективности, можно легко продырявить свои ноги.
Даже странно такое сравнение. Если требуется эффективность, то Си/С++ без вариантов.
Насчет ног - не так страшен черт. Пишите тесты, будьте внимательны с указателями и все получится.
NumPy + SciPy. Посмотри, вокруг чего они сделаны. Внутри у них как раз таки сишные библиотеки.
Java поддерживает IEEE 754. Или вы про какой то другой стандарт?
Рекомедую так же прочитать про strictfp.
Влияние GC на вычисления можно уменьшить при правильной работе с памятью и выделяемыми ресурсами.
P.S.: Нет такого языка - C/C++. Есть два отличающихся языка - C и C++. И C на данный момент уже лет 15-20 как не является подмножеством C++.