Il est vrai que sur les ordinateurs de bureau, de nombreux programmes ne sont pas optimisés pour l'utilisation de plusieurs cœurs, et l'acquisition d'un puissant processeur à double cœur serait bien meilleure qu'un processeur à quatre cœurs moins puissant dans de nombreux cas. Dans de nombreux cas, les performances par cœur seront moins bonnes si vous ajoutez des cœurs supplémentaires.
Cependant, l'API d'Android a été conçue pour tirer parti de plusieurs cœurs. Il existe des règles qui font que les applications se plantent si vous effectuez des opérations qui pourraient retarder l'interface utilisateur, comme télécharger quelque chose dans le même thread que l'interface utilisateur. Cela signifie que si votre application doit télécharger quelque chose, vous aurez au moins deux threads en cours d'exécution.
Vous pouvez exécuter deux threads sur un appareil à un seul cœur, mais plus vous exécutez de threads, moins l'interface utilisateur a de temps pour se mettre à jour et plus l'expérience est lente. Avec des processeurs multiples, vous pouvez exécuter plusieurs threads en même temps, ce qui rend votre expérience utilisateur plus agréable : les opérations intensives peuvent être effectuées en arrière-plan tandis que l'interface utilisateur continue de répondre de manière fluide.
L'ordonnancement est en effet géré par le noyau, mais l'API Java a été conçue pour être fortement asynchrone. De cette façon, les threads peuvent être gérés plus facilement par le noyau. La conception de l'API, que presque toutes les applications suivent, facilite l'ordonnancement pour le noyau.
Une autre fonction multi-noyaux qui est négligée par beaucoup de gens est que les noyaux peuvent être désactivés individuellement. Cela signifie que si vous écoutez de la musique sur vos écouteurs avec votre téléphone dans votre poche, seul 1/4 d'un processeur quadricœur doit être allumé et consommer de l'énergie.
0 votes
Cela dépend toujours de l'utilisation des fils par l'application. Cet article donne un aperçu de la situation : developer.qualcomm.com/blog/
0 votes
Bonjour, j'ai lu ceci sur le traitement multiple symétrique, fr.wikipedia.org/wiki/Symmetric_multiprocessing