Fast cross correlation with limited range I am measuring the phase shift between two pseudorandom signals using correlation ifft(A.conjugate()*B) and picking out the maximum).
That works very well, but takes a lot of time. I roughly know where the peaks are, and don't need the correlation for other shifts.

Is there an adaptive cross-correllation algorithm that would speed up the process if I am only interested in the positions of maxima, and already roughly know their positions?
Analog to the sliding DFT?

Maybe running the cross-correlation on a decimated version of data, finding the peaks, interpolating, and then doing a manual correlation around the max?

I already know within 200 samples where the maxima are.
The record length is about 200k samples.
If the limited range is significantly more than log(N) shorter than the total signal of length N, then ordinary cross correlation over that limited range may be faster than FFT-based fast correlation.  You could just iterate away from the estimated/predicted lag until you find you have gone past a correlation peak (by a sufficient amount to account for expected noise).  But if you go more than log(N)/2 points away from your initial estimate, then perhaps switch back to fast convolution cross correlation.