La vitesse est toujours importante mais l'optimisation non. On n'optimise que si on se retrouve dans le fait accompli que le programme est trop lent pour être utilisable sur le panel des appareils que tu comptes cibler.
Optimiser demande très généralement beaucoup plus de temps, de connaissances d'une discipline, et aussi de refactoring. Si dans ton programme tu tries des tableaux de 100 éléments de façon ponctuelle et que ce n'est finalement q'une étape pas très importante ni pour le programme, ni pour l'utilisateur un tri à bulle est largement raisonnable à notre époque.
Si tu dois en trier 10 000 en real-time et toutes les 10 ms là la question se pose effectivement... mais la réponse n'es pas forcément quicksort non plus, c'est bien ça le problème de l'optimisation on en arrive très vite à l'étude de cas.