Есть ли лучший способ (производительность) для расчета фибоначчи, чем этот?

Я сделал этот код .. И мне нужно получить лучшее из этого .. Мне действительно нужна лучшая производительность вычисления чисел Фибоначчи .. Пожалуйста, помогите быть ..

Я прочитал некоторый код этого типа расчетов, и я думаю, что я получил лучший из них ..

Отменить это для меня .. плз ..

PS: И мне действительно нужен BigInteger .. Я буду вычислять Фибоначчи огромных чисел

PS2: я рассчитал несколько больших чисел с этим алгоритмом, и я получил большое время отклика .. но мне нужно знать, может ли это быть лучше

PS3: для запуска этого кода вам нужно использовать этот аргумент VM-Xss16384k (STACKSIZE)

public class Fibonacci {

    private static BigInteger[] fibTmp = { BigInteger.valueOf(0), BigInteger.valueOf(1) };

    public static BigInteger fibonacci(long v) {

        BigInteger fib = BigInteger.valueOf(0);

        if (v == 1) {

            fib = BigInteger.valueOf(1);

        } else if (v == 0) {

            fib = BigInteger.valueOf(0);

        } else {

            BigInteger v1 = fibonacci(v - 1);
            BigInteger v2 = fibTmp[(int) (v - 2)];

            fib = v1.add(v2);
        }

        synchronized (fibTmp) {

            if (fibTmp.length - 1 < v)
                fibTmp = Arrays.copyOf(fibTmp, (int) (v + 10));

            fibTmp[(int) v] = fib;
        }

        return fib;
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос