El acceso lo es todo

Tiempo de compilación: Cuando el procesador marca la diferencia

¿Qué hace un programador normal a lo largo del día? En resumen, los programadores escriben códigos y los prueban una y otra vez hasta que obtienen el resultado deseado o solucionan el error en el que han estado trabajando. Afortunadamente, este trabajo es más interesante de lo que parece, pero indudablemente requiere paciencia y precisión. Muchos programadores omiten detalles que pueden marcar la diferencia a largo plazo. Echemos un vistazo a este ejemplo de tiempo de compilación. El tiempo de compilación es una pesadilla a la que se tienen que enfrentar todos los programadores. A menudo se asume y acepta tal como es, aunque en realidad es algo que puede marcar la diferencia entre productividad y falta de productividad. En la práctica, el tiempo de compilación es el tiempo que transcurre entre el momento en el que se produce la entrada del sistema y el momento en el que está disponible la salida. En pocas palabras, es el tiempo que emplea el ordenador en comprobar que el código es correcto.

Si no eres programador, probablemente te preguntarás cuál es el problema. Imagínate que estás escribiendo el código de una aplicación web o de escritorio: Cada vez que presionas el botón “crear” para compilar el código, transcurre un periodo de espera que varía considerablemente dependiendo de la cantidad de código que hayas creado. El problema radica en el hecho de que, en el caso de un código relativamente complejo, el tiempo de compilación puede oscilar entre los 30 y 40 minutos, durante los cuales no se puede modificar el código de ninguna manera.

¡Imagínate la cantidad de tiempo que pierde un programador a lo largo de su vida laboral esperando a que los programas realicen la compilación!

Para comprenderlo mejor, echa un vistazo a este gráfico:

Con el navegador Firefox, en el mejor de los casos se tardarían 23 minutos. Pero en el peor de los casos, ¡este tiempo aumenta hasta los 46 minutos! ¿Qué determina esta diferencia? El rendimiento de la unidad central de procesamiento (CPU).

Decir que el tiempo es oro puede parecer un tópico, pero evidentemente a nadie le gusta perder todo este tiempo. Por esta razón, en determinados casos, especialmente en el trabajo autónomo, cada retraso que se produzca puede tener repercusiones en la entrega y, por consiguiente, en las ganancias.

Tener una CPU que te permita ahorrar tiempo significa que no solo ganarás más dinero a fin de mes, sino que también tendrás más tiempo libre y podrás garantizar un rendimiento mayor. Imagínate lo siguiente: Solo pierdes seis minutos en compilar tu proyecto, pero como esto se repite unas diez veces al día, al final del día habrás perdido 60 minutos esperando a que tu ordenador compile el código que has escrito. Si aplicas estas cifras a todo un mes, descubrirás que habrás perdido 20 horas, y te dejamos que sigas haciendo números.

Sin duda, tener un ordenador equipado con un procesador más rápido, como aquellos que vienen con la nueva 7ª generación de procesadores Intel Core i7 (por no hablar de los ordenadores con procesadores Extreme Edition), marcará una diferencia sustancial. Los buenos programadores saben que no hay que tener miedo a la idea de montar un ordenador o añadir más componentes, lo que puede parecerles incluso interesante. Por tanto, es posible que no sea realmente necesario comprar un ordenador completo.

Como habrás visto en el gráfico, la diferencia en rendimiento entre los distintos procesadores es obvia. La realidad es que la inversión que realices te hará disfrutar de ventajas casi de forma inmediata; podría ser una solución perfecta y adecuada que te permitiera ahorrar tiempo (y, por tanto, dinero) durante tu carrera como programador.

Por supuesto, hay otros modos de mitigar este problema, pero está claro que, en comparación con el poder innato de la CPU, cualquier cambio que realices solo será relativo.

Podría resultar útil crear una nube, lo cual implica la configuración de un servidor en la nube que te ofreciera la posibilidad de crear una versión automática de tu software y trabajar mientras tu servidor se encarga de realizar el trabajo más duro.

Como alternativa, podrías optimizar tu software de compilación, aunque la optimización del compilador no es una tarea fácil. Aunque se tarda mucho tiempo en comprender cómo funciona y qué partes se deben modificar, esta solución puede ser válida para intentar reducir el tiempo de compilación de tu software.

Al profundizar en los aspectos más técnicos del uso de un ordenador, como la programación o el uso de programas de gráficos avanzados, es evidente que el hardware marca la diferencia de muchos modos distintos, siendo uno de los más importantes la reducción de tu tiempo de espera. Y no hay nada más valioso que el tiempo.

Por Marco Mignano www.webdevelopertips.com

Fotografías:

Windows 8 – Visual Studio 2012

Compilando con el SDK Qt

Compartir este artículo