The current algorithm recombines gametes and then mutates the recombinant. This can lead to:
more binary searches
more copying of integers in gamete::mutations and gamete::smutations
Up to two recycling or two new gamete allocations per offspring.
The dev_mutation_recombination branch has a new method that merges mutation and recombination into a single pass while also keeping results constant for the same RNG seed. It needs to be updated to apply to all simulation types and the test suite.
When mutation/recombination rates are high, the new approach both reduces RAM use and improves speed.
The current algorithm recombines gametes and then mutates the recombinant. This can lead to:
The dev_mutation_recombination branch has a new method that merges mutation and recombination into a single pass while also keeping results constant for the same RNG seed. It needs to be updated to apply to all simulation types and the test suite.
When mutation/recombination rates are high, the new approach both reduces RAM use and improves speed.