Em uma conferência, ouvi uma boa história sobre isso.
Na Microsoft, alguém estava escrevendo um aplicativo VB (c. VB 3) e mandou um e-mail para várias pessoas dizendo que ele tinha muitos valores e que ele queria que eles aparecessem na caixa de combinação em ordem, como ele deveria fazer isso.
Todos mergulharam em busca de seus velhos livros de ciência da computação, procurando rotinas altamente eficientes e portando-os para o Visual Basic e enviando-os por correio para ele. Um cara acabou de enviar de volta "quantos valores na caixa de combinação?".
"Cerca de 50" veio a resposta.
"Basta definir a propriedade classificada como TRUE".
Em 99.9999% das instâncias, a classificação é melhor feita usando uma biblioteca, controle ou SQL selecionado, pois a diferença de desempenho entre a rotina da biblioteca e qualquer coisa que você escrever será desprezível e o esforço e a sobrecarga de manutenção compensarão enormemente as conseqüências.
Embora isso obviamente não importe para os bits e os horários. Acho que a classificação por mesclagem é mais fácil de escrever e entender do que o quicksort. Então, se eu vou escrever meu próprio algoritmo de classificação, eu o usaria.
fonte
Pelo menos em uma biblioteca escrita com competência, eu esperaria que o built-in
sort
fosse implementado como um Introsort em vez de apenas um Quicksort. A diferença raramente importa muito, mas o Introsort elimina o pior desempenho do Quicksort com um efeito mínimo nos casos mais comuns.Para responder à sua pergunta, no entanto: sim - é com isso que você normalmente deve começar e até / a menos que tenha resultados de criação de perfil indicando que é um problema, é onde deve permanecer.
fonte