Most of the speed-up is from omitting the check for missing species. Since sim9 retains row sums, the check only needs to happen once per model instead of once per swap.
Coverage decreased (-2.26%) to 94.95% when pulling f5aa9e74de071fd17b4081e4857b421d0c09409e on davharris:patch-2 into 179626a64ecdcfbc1a74e5e1df23e9f7ac73a412 on GotelliLab:master.
This speeds the swapping up by a factor of 2
Most of the speed-up is from omitting the check for missing species. Since sim9 retains row sums, the check only needs to happen once per model instead of once per swap.