In[1]:= a = RandomReal[{-1, 1}, 100000];
In[2]:= b = RandomReal[{-1, 1}, 100000];
In[3]:= (* notice that *)
Log[Abs[{x1, x2} - {y1, y2}]]
Out[3]= {Log[Abs[x1 - y1]], Log[Abs[x2 - y2]]}
In[4]:= Timing[er = Transpose@{Range[Length[a]], Log[Abs[a - b]]};]
Out[4]= {0.0156001, Null}
In[5]:= er[[1 ;; 5]]
Out[5]= {{1, -0.0678263}, {2, -0.753793}, {3, -0.00108664}, {4,
0.419092}, {5, -2.70754}}
Also, it is fastest to give Mathematica real values:
In[7]:= zeros = Table[0, {1000000}];
In[9]:= Timing[Log[zeros];]
Out[9]= {0.374402, Null}
In[10]:= ones = Table[1, {1000000}];
In[11]:= Timing[Log[ones];]
Out[11]= {0.312002, Null}
In[12]:= realOnes = Table[1., {1000000}];
In[13]:= Timing[Log[realOnes];]
Out[13]= {0., Null}