Si tu as une option pour optimiser, c'est bien qu'il est possible de faire des choses différentes pendant la compilation.
Dans des cas complexes, oui... (quoi que c'est pas trivial à trouver, et tu auras des cas favorable à l'un puis à l'autre, je pense) mais ici, regarde le code!
L'optimisation ça joue essentiellement sur l'inline, le folding, et quelques trucs plus tordu. Les algos d'allocation de registre sont au point depuis un moment, un add reste un add...
Pourquoi les compilos n'optimisent pas "toujours"? Simplement pour le debugging...
En fait ce que je tente d'exprimer, c'est que l'algo utilisé est tellement CPU-bound que ça devient un test de cpu et plus un test de langage.
Et en fait, ça va même plus loin: tester un langage n'a pas beaucoup de sens, c'est tester tout ce qui va avec, par exemple jouer à C contre C# n'a pas de sens si tu te limites à faire quelques opérations arithmétique, dans ce cas, le simple fait de jouer avec des string permettra de faire ressortir quelques avantages de l'un et de l'autre.
[^] # Re: Comparaison de neuf langages sur un micro-benchmark
Posté par tene . En réponse à la dépêche Comparaison de neuf langages sur un micro-benchmark. Évalué à 2.
Dans des cas complexes, oui... (quoi que c'est pas trivial à trouver, et tu auras des cas favorable à l'un puis à l'autre, je pense) mais ici, regarde le code!
L'optimisation ça joue essentiellement sur l'inline, le folding, et quelques trucs plus tordu. Les algos d'allocation de registre sont au point depuis un moment, un add reste un add...
Pourquoi les compilos n'optimisent pas "toujours"? Simplement pour le debugging...
En fait ce que je tente d'exprimer, c'est que l'algo utilisé est tellement CPU-bound que ça devient un test de cpu et plus un test de langage.
Et en fait, ça va même plus loin: tester un langage n'a pas beaucoup de sens, c'est tester tout ce qui va avec, par exemple jouer à C contre C# n'a pas de sens si tu te limites à faire quelques opérations arithmétique, dans ce cas, le simple fait de jouer avec des string permettra de faire ressortir quelques avantages de l'un et de l'autre.