In researching genetic algorithms, it seems that there are various methods of selection and other operator methods that can significantly change the performance. For example, this picture contains some of the methods that could be used:
Presumably, you can mix & match these operators to optimize whatever problem you're trying to solve.
What most people care about is how many iterations it takes to get to the target. This is understandable, but I've seen things that would be inefficient in real systems such as:
using sort on the current population $\mathcal{O}(n \log n)$ and picking the first n members for the mating pool
appending to a constantly resizing slice to create a mating pool instead of rewriting on the current array
What I am looking for is, how can I arrive at the target using the least amount of computation and memory possible. The number of iterations and the time taken to get there is still a secondary priority.
It's possible that it may be the process of picking the right operators, but what I am also considering is how parallelizable the implementation could be as well.