Assuming $a$ and $b$ are of length $N$, the cross-correlation is calculated using the convolution operator which has complexity $O(Nm)$ for $m$ different lags (source), meaning the operation takes $N$ times $m$ real-valued multiplications. Addition is usually much faster than multiplication which is why it is typically ignored in Big O notation*. Going the frequency domain route requires three FFT/IFFT operations each with complexity $O(N \log_2 N)$ (source), and one element-wise complex product $O(3N)$ (the 3 comes from this reference). Summing these complexities results in
$$3\ O(N \log_2 N)+O(3N)=O(N(3+3 \log_2 N))$$
Both methods will have the same complexity for performing the maximum and absolute value, so I will omit those operations.
Comparing the two, $Nm$ will be larger than $N(3+3 \log_2 N)$ when $m>3+3 \log_2 N$. If this statement is true, it will be more efficient to use the frequency-domain method. Otherwise, you would be better using the convolution method.
*This statement isn't always valid on modern computing hardware because the speed of multiplication has increased substantially in the past decade to the point where addition and multiplication take roughly the same time to compute.