import timeit
import sys
def fib(n):
    a,b = 0,1
    for _ in range(n):
        a,b = b,a+b
    return b
    

setup = '''
def gcd(a, b):
    """Calculate the Greatest Common Divisor of a and b.

    Unless b==0, the result will have the same sign as b (so that when
    b is divided by it, the result comes out positive).
    """
    while b:
        a, b = b, a%b
    return a
'''
numbers = (fib(100),fib(101))
print timeit.timeit('gcd(%d, %d)'%numbers, setup=setup,number=100000)
print timeit.timeit('gcd(%d, %d)'%numbers, setup = 'gcd = lambda a,b : a if not b else gcd(b, a % b)',number=100000)
