¿Cuál es el algoritmo más ejecutado?

09 Nov 2007

Imagínate, miles de millones de aparatos electrónicos procesando datos, ejecutando algoritmos cada milisegundo. Hay tantos algoritmos interesantes que hacen cosas asombrosas que me vino el otro día a la cabeza una duda: ¿cuál es el algoritmo más ejecutado en el mundo?

Cada imagen JPG (y cada frame de MPEG1,2,4) implica, para una resolución de 720×576, 6480 bloques de compresión, y cada uno implica calcular 64 veces el algoritmo DCT (aunque las imágenes base ya estén calculadas, pero eso es otra historia). Por 25 imágenes por segundo imagínate… Y eso en cada descodificador de TDT, reproductor de DivX, cada vídeo de Youtube, …

Por otro lado, cada vez que se pide una información ordenada a una base de datos es posible que se ejecute algún algoritmo de ordenación (depende de la indexación de la base de datos, pero pongámonos en el peor de los casos). Estos también se ejecutan cuando en tu móvil, pda u ordenador pides ver los archivos por fecha, por nombre, o por tamaño. O cuando en el correo electrónico quieres ver todos los mensajes de tal persona.

Hay muchos otros algoritmos, como el de Dijkstra, o algoritmo de búsqueda del camino mínimo. Este, o uno similar, se debe utilizar continuamente en dispositivos GPS.

Por tanto hay dos aproximaciones, o buscar aparatos muy comunes y ver qué algoritmos utilizan, o buscarlos en servicios muy utilizados, como Google, Youtube o la Wikipedia. Y creo que con ambas aproximaciones DCT es el ganador, ya que está presente tanto en dispositivos como en servicios.

¿Puede que esto no sea así? Por supuesto, seguro que alguien nos ilumina e indica qué algoritmo es, según él, el más ejecutado a nivel mundial. Puede que en un tiempo la DCT abdique en la DCT entera, que se utiliza en H.264, o en las transformadas Wavelet, que se utilizan en JPEG2000.