It turns out that different types of spreading codes will cause different performance results for linear detectors. This has to do with the cross correlation property of the codes. For instance, Walsh-Hadamard codes are orthogonal for a specific delay, but are not orthogonal in general. This means they are great for a synchronous system, but are bad for an asynchronous system. Gold codes are not orthogonal, but have low cross correlation at arbitrary delay. Hence, Gold codes perform well for asynchronous systems.