Предыстория
В бытность мою студентом 3-го курса довелось мне в рамках лабораторного практикума программировать численный метод. Он был реализован (на Java), более того — он даже выдавал правильный результат, но была одна проблема: работал чересчур медленно. Стоило немного увеличить размерность, и всё — можно было идти
Метод был итерационный, и на каждой итерации старые значения обновлялись. Профайлинг подсказал, что львиную долю времени занимает работа с ассоциативными массивами наподобие Map<Integer, Double>.
Первая возникшая мысль: «а давай-ка я на чистые массивы переведу всё» — была отброшена почти сразу. Вариант «переписать все на C» даже не рассматривал. Поэтому принялся искать готовые решения, позволяющие работать с коллекциями примитивов. Нашел два: Trove4j и Apache Common Primitives.
Я выбрал первый вариант. Автор декларирует увеличение производительности и уменьшение потребления памяти.