En 1979, desembarcaba en el mercado VisiCalc, el primer software de edición de hojas de cálculo. Pero no pudo disfrutar mucho tiempo de su éxito: cuatro años después salió al mercado Lotus 1-2-3, con un éxito casi inmediato, y se situaría como líder de este mercado hasta comienzos de los años 90, cuando el lanzamiento de Microsoft Excel 4.0, (1992) marcó el comienzo del fin de Lotus 1-2-3.
Sin embargo, después de los cortos reinados de VisiCalc y de Lotus 1-2-3, Excel lleva disfrutando de un reinado indisputado e ininterrumpido de más de 30 años en el trono de las hojas de cálculo.
Sin embargo, cada vez más compañías se ven en la necesidad de gestionar cantidades cada vez mayores de datos en sus hojas de cálculo... y, en esas circunstancias, incluso el software más robusto puede volverse increíblemente lento.
El problema
Para muchos, mejorar el rendimiento de Excel parece ser sólo cuestión de actualizar a un procesador más rápido o añadir más memoria RAM. Pero, ¿qué pasa cuando estas soluciones tradicionales no son suficientes?
Un usuario de Reddit decidió descubrir la respuesta y, en el proceso, reveló que la clave para un Excel ultrarrápido radica, realmente, en otro elemento de nuestro hardware.
Todo comenzó cuando este usuario (u/LeoDuhVinci) se encontró trabajando con esa clase de hojas de cálculo colosales, utilizadas en cálculos financieros cruciales para su empresa, y plagadas de complejas fórmulas como SUMIF y COUNTIF, tardaban entre 30 y 60 minutos en procesarse.
Transformarlas en soluciones más modernas como Power Query o Python habría sido un proyecto titánico que su jefe no aprobaría. Así que, junto con un amigo, se embarcó en otra clase de proyecto personal: construir el ordenador más rápido posible a la hora de ejecutar Excel.
La investigación
Tamaño de la RAM: Beneficios limitados
Una de las primeras áreas que exploraron fue el tamaño de la RAM, ya que comúnmente se cree que una mayor cantidad de RAM puede acelerar significativamente Excel. Los resultados, sin embargo, mostraron que esto era cierto... pero sólo hasta cierto punto. Una vez que se alcanzaban los 16 GB de RAM, las mejoras en el tiempo de procesamiento empezaban a ser cada vez más modestas:
RAM (GB) |
Minutos de procesamiento |
---|---|
8 |
17 |
16 |
9 |
28 |
8 |
32 |
7,5 |
56 |
6 |
Estos resultados sugieren que, aunque es vital no quedarse corto de RAM, invertir en cantidades masivas puede no ser tan efectivo como se podría pensar.
Velocidad de la CPU: Mejoras limitadas
El siguiente paso fue probar la velocidad del procesador (CPU). La sabiduría convencional sugiere que una CPU más veloz debería traducirse en tiempos de cálculo más cortos. Sin embargo, aunque las pruebas mostraron mejoras, estas no fueron tan dramáticas como se esperaba:
Velocidad de la CPU (GHz) |
Minutos de procesamiento |
---|---|
2,3 |
16 |
3,4 |
8,5 |
3,5 |
7,9 |
3,7 |
7,35 |
Aunque el aumento de la velocidad del CPU de 2.3 GHz a 3.7 GHz redujo el tiempo de procesamiento, los beneficios fueron limitados. Esto sugiere que, como con la cantidad de RAM, aunque es importante tener una CPU rápida, hay un límite a cuánto puede mejorar el rendimiento de Excel.
Número de núcleos de la CPU: la verdadera clave
El descubrimiento más impactante vino con la experimentación con el número de núcleos de la CPU. Contrariamente a la creencia popular, la cantidad de núcleos tuvo un efecto monumental en el rendimiento de Excel:
Nº de núcleos |
MINUTOS DE PROCESAMIENTO |
---|---|
8 |
16 |
16 |
4 |
20 |
3 |
64 |
1,3 |
72 |
1 |
96 |
0,6 |
La diferencia fue abismal: con 96 núcleos, la hoja de cálculo que inicialmente tardase casi una hora en procesarse, se completaría en apenas 36 segundos. Este hallazgo reveló que Excel está altamente optimizado para procesar tareas en paralelo, beneficiándose enormemente de un mayor número de núcleos.
La teoría tras de los resultados
El razonamiento detrás de estos hallazgos se basa en el modo en el que Excel maneja las tareas:
- Mientras que aumentar la RAM incrementa el espacio disponible para ejecutar procesos, solo es útil hasta que se alcanza un punto de suficiencia.
- Del mismo modo, aumentar la velocidad del CPU es como usar un coche deportivo para transportar bienes: aunque más rápido, la mejora es limitada si no se puede transportar suficiente carga a la vez.
- En cambio, incrementar el número de núcleos del CPU es como añadir más vehículos al convoy, permitiendo mover una mayor cantidad de bienes simultáneamente.
Sin embargo, curiosamente, no todo se reduce al hardware: nuestro protagonista descubrió que algunas funciones en Excel, como INDIRECT, pueden obstaculizar el rendimiento independientemente de la potencia del equipo. Así que es importante optimizar con cuidado el diseño de nuestras hojas de cálculo.
¿Qué hacer con esta información?
Para aquellos que necesitan ejecutar hojas de cálculo descomunales, la solución óptima es invertir en una CPU con muchos núcleos. Podemos lograr esto utilizando PCs virtuales en la nube, como los ofrecidas por Azure, que ser pueden configuradas con una gran cantidad de núcleos.
De hecho, este experimento llevó a sus autores a desarrollar un complemento para Excel que aceleraba los cálculos conectándolo a un superordenador en la nube... pero la falta de interés en el mercado y el avance de otras herramientas (como Python) provocaron el fracaso del mismo.
Alternativamente, para aquellos dispuestos a construir su propio PC, se recomienda priorizar la cantidad de núcleos por encima de la velocidad del CPU o la cantidad de RAM. Procesadores como los AMD Ryzen Threadrippers, con hasta 96 núcleos, son una opción ideal, aunque (de nuevo) costosa.
Imagen | Marcos Merino mediante IA + Logo de Excel
En Genbeta | Muchas empresas están diciendo adiós a la nube y tienen razones de peso para ello
Ver 4 comentarios