2010-07-22 2 views
31

Какая библиотека лучших примитивных библиотек Java? (Большая память и время эффективно)Наиболее эффективная библиотека примитивных библиотек Java

Я нашел Trove и FastUtil быть наиболее часто используемыми из них, но не нашел много сравнения между ними (или между другими)

есть ли сравнение доступно?

+1

Я буду, если его нет. :) Но я также хочу знать, есть ли какие-то другие, а затем Trave и FastUtil достойные бенчмаркинга. – Sarmun

+0

, вы должны, вероятно, включать в себя элементы 'java.util' в качестве контрольной точки, а также коллекций коллекций Apache и коллекций коллекций Google/guava, где есть эквиваленты. Проблемы будут состоять в том, чтобы: 1) сравнить функциональность с аналогичными функциями, 2) измерить использование памяти и 3) избежать стандартных ловушек, которые обычно приводят к тому, что «микро-бенчмарки» Java дают фиктивные результаты. –

+2

Использование памяти в любой не примитивной коллекции делает это бесполезным в моем случае. И в любом случае они, конечно, все медленнее, поэтому они не соответствуют запросу. Мне не нужны никакие дополнительные функции, просто эффективная карта/набор/список и т. Д. – Sarmun

ответ

5

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

Есть тест from the Trove itself, я думаю, что наиболее простым способом является его перенос в пару других библиотек.

Кроме того - не уверен, что вы видели эту библиотеку - Cern's Colt библиотека имела примитивные списки и матрицы даже до того, как возникла AFAICR.

13

This comparision между сборкой java, trove и colt может быть полезно.

+1

ссылка не работает .. можно открыть в chrome/ie – Edge

+1

Другое сравнение http://java.dzone.com/articles/time-memory-tradeoff-example – leventov

4

Недавно я открыл исходный банан, который является еще одной коллекцией java-библиотек примитивов. отличие от других библиотек заключается в том, что у Бананы было собственное управление памятью, что в основном позволяет реализовать любую динамическую структуру данных без создания множества объектов. Банан также намного меньше, чем многие другие библиотеки, на данный момент баня составляет около 60 тыс.

Он уже поддерживает LinkedList, который я не думаю, что какая-либо другая библиотека примитивных коллекций предоставляет, и я планирую добавить Set и Tree в ближайшее время.

https://github.com/omry/banana

+0

Привет, удивительная библиотека. Вы еще что-то сделали? – bertie

+0

Нет, но если вы хотите дать ему удар, я могу вам помочь. может даже потратить некоторое время на это через несколько недель. –

+0

Большое спасибо за вашу щедрость, но я не спешу за эту поддержку Set. Я не заметил, что это для примитивных коллекций, поскольку я искал произвольные коллекции объектов. – bertie

Смежные вопросы