It's not only restricted to competitors. Been there, done it. Every couple of years every DSP developer needs to do some cleanup and check whether the code of which you think is the fastest and smartest in the world would still perform great on modern architectures. For instance, in former times you avoided conditional jumps ('if', 'else') in tight loops as those led to cache penalties when the CPU's branch prediction went wrong, and flushing the entire pipeline took ages. Nowadays, CPUs are so fast, it doesn't play that much of a role (it does, but not at all corners).
DSP development is very close to the actual machine, but there can be layers in between that matter. It's a per-case decision, and it takes some years of experience and some gathered knowledge of teams to have a 'feeling' for things and when to make a changeover (which of course binds resources).