¿Alguien hace pruebas de hardware en la compilación de código? [cerrado]


21

He visto un montón de sitios que comparan nuevo hardware en rendimiento de juegos, comprimir algunos archivos, codificar una película o lo que sea. ¿Hay alguna que pruebe el impacto del nuevo hardware (como SSD, nuevas CPU, velocidades de RAM o lo que sea) en las velocidades de compilación y enlace, ya sea Linux o Windows?

Sería realmente bueno descubrir qué es lo que más importaba para la velocidad de compilación y poder centrarse en eso, en lugar de simplemente extrapolar desde otros puntos de referencia.


Creo que esto pertenece a SuperUser.
Mahmoud Hossam

2
@Mahmoud Hossam: una especie de tema mixto, la compilación es una actividad intensamente programada, mientras que los puntos de referencia de hardware son definitivamente un territorio diferente.
Orbling

@Orbling bien, no está preguntando si debe compilar X o Y, está preguntando si la gente usa la compilación en general para hacer puntos de referencia.
Mahmoud Hossam


1
Aquí hay un punto de referencia de CPU basado en los tiempos de compilación del kernel de Linux: openbenchmarking.org/showdown/pts/build-linux-kernel
sjakobi

Respuestas:


4

Lo hice por un tiempo, mira aquí y aquí .

En ese momento, estaba trabajando en hacks GTK + y X11 para una distribución de teléfonos celulares Linux, y cada vez que tocaba algo en un nivel tan bajo, desencadenaba la reconstrucción de todo tipo de cosas. Uno de mis colegas nunca completó las compilaciones porque, en la computadora que la compañía suministró con las opciones de compilación estándar, tomó cinco horas.

Tenía todo tipo de hardware loco sentado en casa, así que ejecuté puntos de referencia en algunas máquinas mientras codificaba en otras, y puede ver los resultados en los enlaces.

Por lo que estábamos haciendo en Ubuntu, una vez que maximicé la utilización de la CPU, que puedes hacer muy fácilmente con el argumento -j, el cuello de botella parecía ser el disco.

Pero luego la compañía tuvo grandes despidos, así que salí por la puerta y no terminé de analizar todo eso. Tenía muchos datos e interpretación que tampoco publiqué en ese blog.


Es una pena construirlo con dos publicaciones detalladas y se detienen. ¿Todavía tienes todos esos datos? En cualquier caso, sería muy interesante ver algunas publicaciones / respuestas de blog con algunas conclusiones de lo que encontraste.
Hugo

@Hugo: No, me temo que no, los datos en bruto se han ido. Pero básicamente lo que se me ocurrió es que para los sistemas (1-8 núcleos de CPU) y el código fuente (el kernel de Linux) que estaba probando, los tiempos de compilación más rápidos fueron cuando la opción -j tenía 1.5 veces el número de núcleos, con -j = 2 siendo el mejor para un núcleo. Por debajo de eso, los sistemas estaban vinculados a la CPU, y por encima de eso, estaban vinculados a E / S. Es una pregunta interesante, tal vez debería retomarla algún día.
Bob Murphy

0

Primero en mi lista de deseos es una unidad de estado sólido. No tendrá un gran impacto en el tiempo de compilación, pero abrir aplicaciones se vuelve drásticamente más rápido (IDE, PhotoShop, ETC). http://joelonsoftware.com/items/2009/03/27.html

El factor más importante para el tiempo de compilación será la CPU. Estás bastante seguro usando esto para el punto de referencia http://www.cpubenchmark.net/ .


1
Por otra parte, mucho depende de su cadena de construcción. Si su cadena de compilación solo usa un solo subproceso para compilar en una CPU de múltiples CPU, una CPU de múltiples núcleos o incluso una de múltiples subprocesos, está desperdiciando la oportunidad de obtener ganancias masivas. Un punto de referencia de CPU simple no lo mostrará, y un punto de referencia de compilación solo sería bueno para una cadena de herramientas determinada.
asoundmove

2
En realidad, descubrí por experimento que una vez que haces una compilación paralela, es tu disco el cuello de botella. Dentro de lo razonable, está mejor con una CPU más lenta y un disco más rápido que viceversa.
Bob Murphy

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.