I\'m wondering about the performance/complexity of constructing BigInteger objects with the new BigInteger(String) constructor
new BigInteger(String)
You're actually measuring the time it takes to parse a string and create the BigInteger. Numeric operations involving BigIntegers would be a lot more efficient than this.