Write the fastest Fibonacci This is yet another challenge about the Fibonacci numbers.

The goal is to compute the 20'000'000th Fibonacii number as fast as possible. The decimal output is about 4 MiB large; it starts with:


  28543982899108793710435526490684533031144309848579


The MD5 sum of the output is


  fa831ff5dd57a830792d8ded4c24c2cb


You have to submit a program that calculates the number while running and puts the result to stdout. The fastest program, as measured on my own machine, wins.

Here are some additional rules:


You have to submit the source code and a binary runnable on an x64 Linux
The source code must be shorter than 1 MiB, in case of assembly it is also acceptable if only the binary is that small.
You must not include the number to be computed in your binary, even in a disguised fashion. The number has to be calculated at runtime.
My computer has two cores; you are allowed to use parallelism


I took a small implementation from the Internet which runs in about 4.5 seconds. It should not be very difficult to beat this, assuming that you have a good algorithm.
Sage

Hmm, you seem to assume that the fastest is going to be a compiled program.  No binary for you!

print fibonacci(2000000)


On my machine, it takes 0.10 cpu seconds, 0.15 wall seconds.

edit: timed on the console, instead of the notebook