Alguém faz benchmarks de hardware na compilação de código? [fechadas]


21

Eu já vi vários sites que avaliam o novo hardware no desempenho de jogos, fechando alguns arquivos, codificando um filme ou qualquer outra coisa. Há alguém que teste o impacto de um novo hardware (como SSDs, novas CPUs, velocidades de RAM ou qualquer outro) nas velocidades de compilação e link, Linux ou Windows?

Seria muito bom descobrir o que mais importava na velocidade de compilação e poder focar nisso, em vez de apenas extrapolar a partir de outros benchmarks.


Eu acho que isso pertence ao SuperUser.
Mahmoud Hossam

2
@Mahmoud Hossam: meio que um tópico misto, a compilação é uma atividade intensamente exclusiva para programadores, enquanto os benchmarks de hardware são definitivamente um território diferente.
Orbling 19/03/11

@Orbling bem, ele não está perguntando se ele deve compilar X ou Y, ele está perguntando se as pessoas usam a compilação em geral para fazer benchmarks.
Mahmoud Hossam


1
Há uma referência CPU baseado em Linux kernel do tempo de compilação aqui: openbenchmarking.org/showdown/pts/build-linux-kernel
sjakobi

Respostas:


4

Eu fiz isso por um tempo - veja aqui e aqui .

Naquela época, eu trabalhava nos hacks GTK + e X11 para uma distribuição Linux para celulares, e toda vez que tocava em um nível tão baixo, isso provocava a reconstrução de todo tipo de coisa. Um de meus colegas nunca concluiu as compilações porque, no computador que a empresa fornecia com as opções de compilação padrão, eram necessárias cinco horas.

Eu tinha todos os tipos de hardware maluco em casa, então executei benchmarks em algumas máquinas enquanto codificava em outras, e você pode ver os resultados nos links.

Pelo que estávamos fazendo no Ubuntu, depois que eu maximizei a utilização da CPU - o que você pode fazer com muita facilidade com o argumento -j a ser feito - o gargalo parecia ser o disco.

Mas então a empresa teve grandes demissões, então eu saí pela porta e não terminei o escopo. Eu tinha muitos dados e interpretação que não publiquei no blog também.


É uma pena construí-lo com dois posts detalhados e eles param. Você ainda tem todos esses dados? De qualquer forma, seria muito interessante ver algumas postagens / respostas do blog com algumas conclusões do que você encontrou.
21711 Hugo

@ Hugo: Não, receio que não - os dados brutos se foram há muito tempo. Mas basicamente o que descobri é que, para os sistemas (1-8 núcleos da CPU) e código fonte (o kernel do Linux) que eu estava testando, os tempos de compilação mais rápidos foram quando a opção -j estava em 1,5x o número de núcleos, com -j = 2 sendo melhor para um núcleo. Abaixo disso, os sistemas estavam vinculados à CPU e, acima disso, estavam vinculados à E / S. É uma pergunta interessante - talvez eu deva retomar um dia.
21711 Bob Murphy

0

O primeiro da minha lista de desejos é um Solid State Drive. Não terá um grande impacto no tempo de compilação, mas a abertura de aplicativos se torna drasticamente mais rápida (IDE, PhotoShop, ETC). http://joelonsoftware.com/items/2009/03/27.html

O maior fator para o tempo de compilação será a CPU. Você está bem seguro usando isso para o benchmark http://www.cpubenchmark.net/ .


1
Então, novamente, muito depende da sua cadeia de construção. Se sua cadeia de compilação usa apenas um único encadeamento para compilação em uma CPU com vários processadores, múltiplos núcleos ou mesmo com vários threads, você está desperdiçando uma oportunidade para ganhos maciços. Um benchmark simples da CPU não mostra isso, e um benchmark de compilação seria bom apenas para uma determinada cadeia de ferramentas.
asoundmove

2
Na verdade, descobri por experiência que, depois de fazer a compilação paralela, o disco é o gargalo. Dentro da razão, você está melhor com uma CPU mais lenta e um disco mais rápido do que vice-versa.
Bob Murphy

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.