Calculs à virgule flottante ou entiers : considérations de performances dans le matériel moderne
Le débat sur la question de savoir si les calculs à virgule flottante ou à nombres entiers offrent de meilleures performances sur les ordinateurs modernes le matériel est en cours depuis des années. Au début de l’informatique, les opérations en virgule flottante étaient nettement plus lentes que les opérations sur les nombres entiers en raison du manque de processeurs à virgule flottante dédiés. En conséquence, il était courant d'effectuer des calculs en virgule flottante à l'aide d'approximations d'entiers, même pour des problèmes impliquant intrinsèquement des valeurs à virgule flottante.
Aujourd'hui, cependant, avec l'avènement de puissants processeurs multicœurs et de virgule flottante dédiées. unités, l’écart de performances entre les calculs à virgule flottante et les calculs d’entiers s’est considérablement réduit. Bien que les calculs d'entiers puissent encore avoir un avantage dans certains scénarios spécialisés, tels que la manipulation de bits de bas niveau, pour la plupart des applications, la différence de performances est négligeable.
Pour illustrer cela, considérons les tests suivants exécutés sur plusieurs processeurs modernes :
CPU | Type | Add/Subtract | Multiply/Divide |
---|---|---|---|
Intel Xeon X5550 @ 2.67GHz | short | 1.005460 | 3.926543 |
AMD Opteron(tm) Processor 265 @ 1.81GHz | short | 0.553863 | 12.509163 |
Intel Xeon X5550 @ 2.67GHz | float | 0.993583 | 1.821565 |
AMD Opteron(tm) Processor 265 @ 1.81GHz | float | 2.688253 | 4.683886 |
Comme on peut le voir, les performances des opérations en virgule flottante sont comparables à celles des opérations sur les nombres entiers. En fait, pour certaines opérations, telles que l'addition et la soustraction, les calculs en virgule flottante peuvent même être légèrement plus rapides.
Par conséquent, à moins qu'il n'y ait une raison impérieuse d'utiliser des approximations entières, il est généralement conseillé d'utiliser des calculs en virgule flottante pour les problèmes qui impliquent intrinsèquement des valeurs à virgule flottante. Les calculs en virgule flottante sont plus précis et fournissent une plage de valeurs plus large que les approximations entières. De plus, ils sont plus faciles à mettre en œuvre et à entretenir, ce qui peut entraîner des gains de productivité significatifs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!