Pull to refresh
4
0
Андрей Хайрутдинов @Grab

Пользователь

Send message

Trove4j: высокопроизводительные коллекции

Reading time 3 min
Views 2.4K
Предыстория

В бытность мою студентом 3-го курса довелось мне в рамках лабораторного практикума программировать численный метод. Он был реализован (на Java), более того — он даже выдавал правильный результат, но была одна проблема: работал чересчур медленно. Стоило немного увеличить размерность, и всё — можно было идти бить баклуши заниматься другими важными делами.

Метод был итерационный, и на каждой итерации старые значения обновлялись. Профайлинг подсказал, что львиную долю времени занимает работа с ассоциативными массивами наподобие Map<Integer, Double>.

Первая возникшая мысль: «а давай-ка я на чистые массивы переведу всё» — была отброшена почти сразу. Вариант «переписать все на C» даже не рассматривал. Поэтому принялся искать готовые решения, позволяющие работать с коллекциями примитивов. Нашел два: Trove4j и Apache Common Primitives.


Я выбрал первый вариант. Автор декларирует увеличение производительности и уменьшение потребления памяти.

Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 3

Information

Rating
Does not participate
Date of birth
Registered
Activity