Быстрое манипулирование памятью в Java? - PullRequest
1 голос
/ 03 ноября 2011

Я немного новичок в Java (предыдущий опыт работы с C на встроенных платформах), поэтому, пожалуйста, прости меня, если этот вопрос очень тривиален.

Мне нужно реализовать некоторые алгоритмы обработки сигналов в Java.Я знаю, что Java, вероятно, не лучший язык для этого [1], но требования к Java возникли прежде всего потому, что остальная часть моей команды совсем не знакома с C.

Что нам нужно делать ввысокий уровень - это прочитать некоторые файлы, содержащие видеокадры, обработать их (собрать некоторую статистику о них) и затем записать их обратно на диск.Обработка будет включать чтение нескольких килобайт данных и их разбор, возможно, с какими-то преобразованиями.то есть я ожидаю, что нам нужно будет сделать лот случайных обращений к памяти с байтовой адресацией.И мне нужно будет делать около 30 кадров в секунду и несколько десятков тысяч таких операций в каждом кадре (так что, возможно, от 100 до 1000 операций в секунду)

Я не знаю «внутренностей» Javaочень хорошо, но из того, что я прочитал, я полагаю, что память, которую видит Java, далека от реальной виртуальной памяти, которую предоставляет сама ОС [2].

Какие библиотеки управления буфером я должен использовать, чтобы получитьлучшая производительность?Я видел несколько (NIO [3], Java 2d [4] и т. Д.), Но я не могу найти, что быстрее, или если есть какие-либо другие опции, которые мне не хватает.Ребята, есть ли у вас какие-либо предложения или указатели [5] для меня?

Я также буду много заниматься арифметикой, так есть ли библиотеки, которые делают «более быструю» арифметику?Я родом из мира, где я мог бы ускорить практически все на оборудовании, но теперь мне нужно запустить его на ПК, поэтому я не уверен, есть ли какие-либо доступные варианты.

Любые другие предложения или помочь вам, ребятамог бы предоставить, будет высоко ценится!

1 Ответ

0 голосов
...