I am not actually sure that it takes as long as people think. The fact is it isn't just individual genes, but selection for combinations of them. If you look at random mutations, I think that is likely dwarfed by random permutations. This is why the resistance bell curve shifts over time. You aren't just selecting for a single gene, but for a function, which could be carried out any number of different ways, and which any number of different gene combinations could do it.