En una conferencia una vez escuché una bonita historia sobre esto.
En Microsoft, alguien estaba escribiendo una aplicación VB (c. VB 3) y envió un correo a un grupo de personas diciendo que tenía una gran cantidad de valores y que quería que aparecieran en el cuadro combinado en orden, cómo debería hacerlo.
Todos se lanzaron a buscar sus viejos libros de texto de ciencias de la computación, buscaron rutinas altamente eficientes y las transfirieron a Visual Basic y se las enviaron por correo. Uno de ustedes acaba de enviar "¿cuántos valores en el cuadro combinado?".
"Alrededor de 50" fue la respuesta.
"Simplemente establezca la propiedad ordenada en VERDADERO".
En el 99.9999% de las instancias, la ordenación se realiza mejor usando una biblioteca, control o en la selección SQL, ya que la diferencia de rendimiento entre la rutina de la biblioteca y cualquier cosa que escriba será insignificante y el esfuerzo y la sobrecarga de mantenimiento superarán enormemente las consecuencias.
Aunque, obviamente, no importa a los bits y los segmentos de tiempo. Encuentro que el tipo de fusión es más fácil de escribir y comprender que el de clasificación rápida. Entonces, si voy a escribir mi propio algoritmo de clasificación, lo usaría.
fuente
Al menos en una biblioteca escrita de manera competente, esperaría que el incorporado
sort
se implemente como un Introsort en lugar de solo un Quicksort. La diferencia rara vez importa mucho, pero Introsort elimina el mal desempeño en el peor de los casos de Quicksort con un efecto mínimo en los casos más comunes.Sin embargo, para responder a su pregunta: sí, eso es con lo que generalmente debe comenzar, y hasta / a menos que tenga resultados de perfil que indiquen que es un problema, ahí es donde debe permanecer.
fuente