Хорошо, есть ли высокопроизводительная библиотека графов для работы с примитивами, без этих непроизводительных издержек / накладных расходов на автобокс?Для двойных списков вы можете использовать trove , для линейной алгебры вы можете использовать netlib-java (примеры, которые помогут вам лучше понять смысл моего интереса к этому вопросу).
Что касается графиков / сетей: все библиотеки, которые я нашел, используют дженерики и должны быть не такими производительными.Я мог бы также сделать некоторые тесты для этого, но я считаю, что веса сетевых ссылок, управляемых кучей, будут хуже, чем удвоение [] с некоторыми смещениями битов, чтобы получить индекс для i и j.Сценарий использования: существуют сотни таких сетей (большинство из них разреженных) размером 4k * 4k, в этом наборе сетей выполняется некоторая генетическая оптимизация, которая выполняет некоторые оценки потока / мин для каждого образца.
Итак, есть: JGraphT , JUNG , ANNAS , JDSL (ссылки ведут на API / примеры кода, которыеразоблачить жалкие обертки Generics / Object во всех них).Есть ли альтернативы Trove-ish?Я уже создал несколько упрощенных реализаций, но просто решил осмотреться, чтобы не изобретать подходящий велосипед ...
Есть какие-то мнения, предложения?
Спасибо, Антон
PS: Пожалуйста, не начинайте с производительности обобщенного Java-кода, по крайней мере, без ссылки на какой-нибудь достойный тест, хорошо?;)