Почти нет причин, по которым вы захотите обменять BigInteger на Java с вашими, если только вы не уверены, что он не только быстрее во ВСЕХ соответствующих случаях, но и безопасен для всех программ, которые зависели бы оторигинальный BigInteger, и не конфликтует с Java внутренне (на уровне, который даже разработчики могут не заметить).
Если все вышеперечисленное верно, то вы действительно отправляете свой класс в Oracle, потому что я уверенони постоянно ищут более эффективные реализации, и вы могли бы действительно помочь нам всем, выпустив свой более быстрый класс BigInteger в Java 7 или 8, возможно.
Но поскольку вы говорите, что только «потенциально» нашлиболее быстрая реализация, то, что вы действительно хотите, это подкласс:
public class FastBigInteger extends java.math.BigInteger
{
и переопределите все методы, которые, по вашему мнению, могут быть ускорены
public BigInteger divide(BigInteger val)
{
//your faster implementation goes here
}
}
, а затем вы можете начать тестирование этого класса на Javaкласс, хронометраж времени выполнения каждого для многих тестовых случаев и представление результатов в Oracle.