Supposons que j’ai un ordinateur appelé A avec un processeur à deux cœurs et hyperthreading, c’est-à-dire qu’il a 2 cœurs à 4 threads (je comprends que cela peut alimenter 4 processus simultanément), supposons également que j’ai un autre ordinateur appelé B a 2 cœurs mais pas d'hyperthreading (si j'ai bien compris, deux processus peuvent être alimentés simultanément) supposons maintenant que A et B ont la même fréquence d'horloge de 3,4 GHz. Supposons que j'ai écrit un algorithme qui calcule une moyenne, mais que j'ai conçu l'algorithme de telle sorte que deux processus, dans cet esprit, quelle opération informatique finit en premier?. (supposons que l'entrée est la même et que la seule différence entre A et B est l'hyperthreading).
benchmarking
hyper-threading
client
la source
la source
Réponses:
Tant que Windows évite les 2 "faux" cœurs sur la machine hyperthreaded, il n'y aura aucune différence.
Si Windows décide de lancer les deux threads sur les processeurs cpu0 et cpu1 (le faux), il en résultera une baisse significative des performances.
J'ai du mal à trouver des références sur le Web, mais j'imagine que le système d'exploitation Windows est déjà assez intelligent.
L'algorithme sera plus rapide sur la machine hyperthreaded, si vous l'exécutez avec 4 threads
la source