Um compilador C / C ++ melhor / mais recente produz código compilado com mais desempenho? Ou eles apenas executam mais rápido / melhor enquanto compilam?

2

Eu não sou um programador C ou C ++, mas eu geralmente uso software que precisa ser compilado ou depende de um compilador, como alguns pacotes R.

O software terá um desempenho melhor se eu usar um compilador mais novo / melhor? Por exemplo, agora eu uso a versão do sistema do Mac OS X da Clang, e tem sido sugerido que eu use uma versão mais recente. Isso é apenas uma sugestão para me poupar tempo e memória durante a compilação? Ou será que ele realmente produzirá software compilado mais eficiente?

    
por shadowtalker 10.06.2015 / 16:10

1 resposta

3

Will that software actually perform better if I use a newer/better compiler?

Isso depende inteiramente se o trabalho é feito para o recurso de otimização de código, do compilador, em uma determinada versão.

For instance, right now I use the Mac OS X system version of Clang, and it's been suggested that I use a later version instead.

Você deve ficar com a mesma versão do compilador que você sabe que funciona, a menos que você precise de um recurso, que exista apenas em uma versão posterior. A menos que você saiba que uma versão posterior faz algo mais eficaz, você não deve atualizar.

Is that just a suggestion to save me time and memory during compilation?

A sugestão parece honestamente baseada em 100% de opressão. Se você confia na pessoa que forneceu essa sugestão, então você deve aceitá-la.

Devo salientar que um compilador, é um software e versões mais recentes podem introduzir novos bugs que resultam em pior desempenho na rotina de otimização. Você deve procurar um equilíbrio, a melhor maneira de fazer isso, é sempre usar a versão estável.

    
por 10.06.2015 / 16:28