a = 
        Random[Integer, {(10^99999), 
            (10^100000)}];
b = 
        Random[Integer, {(10^99999), 
            (10^100000)}];
p = (a/b);
c = 
        Random[Integer, {(10^99999), 
            (10^100000)}];
d = 
        Random[Integer, {(10^99999), 
            (10^100000)}];
q = (c/d);

Timing[p + q;]

Timing[GCD[a*d + b*c, b*d];]

Timing[p*q;]

Timing[GCD[a, d];]

Timing[GCD[b, c];]