Interessante, eu acabo usando as linguagens mais comuns para dados (Python e R) e nunca nem tinha pensado nesse problema porque as funções estão prontas, como você citou, e são bastante utilizadas.
Um detalhe no texto me chamou a atenção, me permite uma crítica construtiva? :)
Você disse que
o loop conseguiu mais de 5 milhões de operações por segundo, enquanto o Fisher-Yates conseguiu mais de 7 milhões (cerca de 1,26 vezes mais operações).
E também que
Agora o Fisher-Yates conseguiu cerca de 5,24 vezes mais operações por segundo.
É uma maneira comum de expressar a coisa, mas que não é rigorosamente correta. 20 não é duas vezes mais que 10, é simplesmente duas vezes 10. E aqui a notação matemática nos ajuda, certo?
2 * 10 = 20
Desse modo, as mais de 7 milhões de operações por Fisher-Yates teriam que ser mais de 13 milhões para corresponder a cerca de 1,26 vezes mais operações que as mais de 5 milhões do loop. Algo mais ou menos como
(1,26 * 5.815.553) + 5.815.553 = 13.143.149 (aproximadamente)
E este é um ótimo exemplo para usar, porque como então expressar corretamente?
Falar que "Fisher-Yates teve resultado 0,26 superior" é bem estranho, né? E isso, me parece, é porque habitualmente não lidamos com a lógica de que 1 é o limite de algo – como no campo da probabilidade, em que sua medida vai de 0 a 1. Pior, ficaria ambíguo, alguém poderia facilmente entender que então o loop fez 5.815.553 operações e Fisher-Yates alcançou 5.815.553,26.
Mas trabalhamos mais frequentemente com porcentagens, e aí elas funcionam legal: Fisher-Yates teve resultado 26% superior. E também daria pra usar a versão "Fisher-Yates conseguiu 1,26 vezes o número de operações do loop", sem usar o "mais".
Espero que toda essa explicação tenha sido didática, e não pedante. Porque convencer as pessoas a não expressar quantidades nesse formato é quase que um objetivo de vida para mim. :)
E no próximo capítulo eu encho as paciências falando sobre o "Isso é n vezes menor que aquilo", uma impossibilidade. XD