Allouer plus de charge processeur à une application

a marqué ce sujet comme résolu.

Bonjour, J'utilise souvent python et j'ai remarqué que la charge processeur allouée à Python ne dépassait jamais 25%. Même quand le processeur n'était pas utilisé à 100% (il est souvent à 30). Y a-t-il un moyen de changer cette limite. Merci d'avance

C'est probablement parce que ton script n'est pas multi-threadé. Tout ce se passe donc uniquement dans un unique thread et donc dans un unique coeur. La charge processeur total n'est donc pas à 100%. Par contre, si tu regardes tes cœurs un par un, tu verras qu'il y en a un qui bosse bien plus que les autres.

Je pense même pouvoir dire que tu as un quad-core, vu la limite à 25%.

Acer Aspire E5-772G Intel core i5-5200U @2,20GHz 8Go RAM Windows 10 64 bits Pourtant quand je vais dans moniteur de il me met 7 threads ouverts. Effectivement je crois que c'est un quad core. EDIT Nb. de cœurs 2 Nb. de threads 4 Et il n'ya pas de moyen plus simple que multi-threader le script ? Parce que c'est pas facile non ?

+0 -0

Tu as deux solutions pour utiliser plus d'un cœur : le multithreading ou le multiprocessing. Pour comprendre quand utiliser l'un ou l'autre, il faut avant tout comprendre ce qu'est le GIL. En très très gros, ça empêche un process Python d'exécuter le code de plusieurs threads en même temps. Cependant, ça ne les empêchent pas d'être utiles : leurs IOs ne sont pas bloqués. En gros : si tu cherchent à faire du calcul pur Python = multiprocessing, sinon (NumPy, requêtes HTTP, etc) threading.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte