Я работаю над проектом (в Scala), где мне нужно манипулировать некоторыми очень большими числами; слишком большой, чтобы быть представленными интегральными типами. Java предоставляет классы BigInteger и BigDecimal (и Scala обеспечивает хорошую тонкую оболочку вокруг них). Тем не менее, я заметил, что эти библиотеки существенно медленнее, чем другие библиотеки произвольной точности, которые я использовал в прошлом (т.е. http://www.ginac.de/CLN/), и разница в скорости кажется больше чем то, что можно отнести только к языку.
Я сделал некоторое профилирование своей программы, и 44% времени выполнения тратится на метод умножения BigInteger. Я бы немного ускорил свою программу, поэтому я ищу более быстрый и эффективный вариант, чем класс BigInteger (и его оболочка Scala). Я посмотрел на LargeInteger (от JScience) и Aint (от Afloat). Однако оба кажутся более медленными, чем стандартный класс BigInteger.
Кто-нибудь знает о математической библиотеке произвольной точности Java (или доступной в JVM) с акцентом на умножение и добавление с высокой производительностью?