CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Programmation C] Processeur limité à 10% ?

robert_lafrite
robert_lafrite
Niveau 9
07 août 2021 à 09:48:55

Bonjour,

J'ai créé un programme en C qui met un certain temps pour s'exécuter. Des millions de cas à gérer (des milliards peut-être?), ça prend du temps! Dans le gestionnaire des tâches, je vois que le processus n'utilise que 10% du processeur. J'ai même essayé de le démarrer avec start /high processus.exe, mais ça ne change rien.

Comment faire pour "accélérer" le programme? J'ai déjà pas mal optimisé le code. Mais j'aimerais savoir si il y a-t-il moyen d'utiliser plus que 10% du processeur pour mon programme? J'aimerais bien qu'il utilise 100% du processeur, même si mon ordinateur est inutilisable pendant l'exécution du programme. C'est faisable?

Merci d'avance pour vos réponse.

Kasmir
Kasmir
Niveau 10
07 août 2021 à 10:52:27

C'est con mais t'as regardé si tous les coeurs fonctionnaient a la même vitesse ?

robert_lafrite
robert_lafrite
Niveau 9
07 août 2021 à 11:00:34

Je n'en ai aucune idée. Comment vérifie-t-on cela? Mais qu'est-ce ça peut changer? Mon programme n'est pas multi-processus. C'est juste plein de boucles imbriquées.

infireman
infireman
Niveau 9
07 août 2021 à 12:48:03

Tu pourra jamais utiliser un processeur multicoeur à 100% avec un seul thread

godrik
godrik
Niveau 30
07 août 2021 à 16:02:35

donne nous un screenshot qui montre que ca prend 10%

Lapintade
Lapintade
Niveau 30
07 août 2021 à 18:55:08

En C, pas certain que ce soit possible d'aller plus vite (oui tu dois juste tourner sur un thread). En C++, tu as la possibilité de lancer plusieurs threads et de paralléliser tes calculs plutôt simplement. Tu arriveras ainsi a utiliser l'ensemble de tes core et monter a 100%.

Suzuka_Nakamoto
Suzuka_Nakamoto
Niveau 10
07 août 2021 à 19:47:43

[18:55:08] <Lapintade>
En C, pas certain que ce soit possible d'aller plus vite (oui tu dois juste tourner sur un thread). En C++, tu as la possibilité de lancer plusieurs threads et de paralléliser tes calculs plutôt simplement. Tu arriveras ainsi a utiliser l'ensemble de tes core et monter a 100%.

C'est possible en C aussi de paralléliser. C'est pas si dûr que ça il me semble.
Je pense que c'est exactement ce que devrai faire l'OP pour passer à 80/100%

godrik
godrik
Niveau 30
07 août 2021 à 21:58:55

Evidement on peux faire des threads en c. Il y a des libs portables, la SDL par exemple.

Note qu'on ne sait toujours pas quel est le probleme. Si le code de OP fait des I/O il pourrait literalement etre a 20% d'un seul coeur. Et alors paralleliser pourrait ne pas changer grand chose.

Lapintade
Lapintade
Niveau 30
09 août 2021 à 10:27:32

Oui je voulais dire "avec juste le langage C". Alors qu'en C++, sans lib externe, les threads sont inclus.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment