В общем так.
Сделал проверку.
2 джоба.
1-й кладет в мап по строковому ключу 90 тысяч record-ов. Затем с шагом в 100 перебирает эти записи. (примерно 1000 обращений) Для большинства обращений время - 0 миллисекунд. Для некоторых оно скакнуло до 15 миллисекунд. Но это редко. В среднем на 1000 обращений суммарное время около 250 миллисекунд. т.е. усредненно на одно обращение получается 0,25 миллисекунды.
2-й кладет те же 90 тысяч записей в recordSortedList и таким же образом выбирает. Времена абсолютно те же.
Вывод: оба способа по проивзодительности одинаковы. Возможно внутри реазизация у них одна.
P.S. Написал и задумался - в приведенных тестах при замере скорости чтения ключ по которому читали - монотонно увеличивался через 100 делений. Это могло повлиять. Нужно сделать случайную выборку.
|