This is question not directly related to language concepts, it's got more to do with the application. I would appreciate if anyone would point to me how I could optimize this bit of code
auto fib(const int n)
{
        import std.bigint;

        if (n == 0)
                return BigInt(0);

        if (n == 1)
                return BigInt(1);

        BigInt next;
        for (BigInt i = 0, j = 1, count = 1; count < n; ++count)
        {
                next = i + j;
                i = j;
                j = next;
        }
        return next;
}

void main()
{
        import std.stdio, std.datetime;

        auto t0 = Clock.currTime;
        writeln(fib(100_000));
        writeln(Clock.currTime - t0);
}



I also noticed that if I try to compute it in the compile time with enum x = fib(100000) the compiler freezes. What could cause this?

Reply via email to