Протестированная операция заключается в том, чтобы вставить все элементы в структуры Btree, Splay Tree и Treemap (каждая полоса в графике указывает на одну из этих структур соответственно). Данные, используемые для тестов, составляли около 1 миллиона чисел, от 1 до 500 миллионов, эти цифры могут быть упорядочены, повторяться, беспорядочные и повторять, упорядоченные и не повторяющиеся, и, наконец, неупорядоченные и не повторяющиеся (повторение выполняется следующим образом: число добавляется в 100 раз, таким образом, мы имеем 10 тысяч уникальных элементов). />
Неупорядоченные данные без повторений:
Эти графики были получены от исполнений JMH, с 5 вилками, 5 разминками на вик и 10 итераций на форк. График того, что с неупорядоченными повторениями указывает на это, но данные, полученные из выполнения файлов с упорядоченными повторениями и без упорядоченных повторений, выглядят очень похожими на этот график (то есть высокое использование памяти). Единственный файл с более низким использованием памяти, - это тот, который без неупорядоченных повторений. < /P>
Почему это происходит? Я думал, что реализация Java в TreeMap не создает временные объекты, чтобы вызвать такое влияние на память.
Подробнее здесь: https://stackoverflow.com/questions/795 ... y-jmh-test