LinkedBlockingQueue и примитивы - PullRequest
       51

LinkedBlockingQueue и примитивы

4 голосов
/ 17 октября 2011

Мне нужно LinkedBlockingQueue, но то, что я передаю ему примитивы. Моя скорость передачи данных для добавления в очередь составляет около 4 мс или 256 точек данных в секунду. Проблема, с которой я сталкиваюсь, заключается в том, что данные начинают задерживаться сразу при запуске, но со временем кажется, что JIT делает это более эффективным, и это заканчивается в реальном времени. Я пытаюсь выяснить, где мне нужно уменьшить начальную задержку, и одним из них является «создание» объекта Float из автобокса при каждой вставке в очередь. У кого-нибудь есть LinkedBlockingQueue, использующий примитивы?

Или есть что-то более быстрое, чем LinkedBlockingQueue, когда вы не уверены в размерах и используете примитивы?

1 Ответ

1 голос
/ 17 октября 2011

Хотя ваши данные не достаточно велики, чтобы гарантировать лучшую структуру данных, библиотека Fastutil - это именно то, что вам нужно.Это коллекции, которые занимают мало места и занимают мало памяти, и у них есть версии для каждого примитива Java.

У них нет реализаций для блокировки, но вы должны иметь возможность расширять их классы, чтобы добавить их функциональность.

...