Hét vraag- en antwoordplatform van Nederland

Hoe kan ik een proces meer processortijd geven?

Ik heb vanwege mijn interesse in Pi, meerdere programma's geschreven in C++ om te kijken welke berekening van Pi het snelste werkt. Het valt mij echter op dat mijn PC vrij veel tijd nodig heeft per berekening, en dat ligt niet de complexiteit van de berekening. Mijn processor geeft aan ongeveer op 5% van zijn maximum vermogen te verbruiken. Hoe kan ik ervoor zorgen dat zo'n bestand meer processortijd krijgt?

Verwijderde gebruiker
10 jaar geleden
1.2K

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Je kunt SetPriorityClass en SetThreadPriority gebruiken om je proces en de thread(s) een hogere prioriteit te geven. Ook in de task manager (rechtermuisknop in de taakbalk) kun je een proces realtime priority geven. Je windows wordt wel lastig te bedienen hierdoor. Als een programma veel CPU nodig heeft, en je computer heeft verder niets te doen, krijgt het programma die CPU tijd toch wel, ongeacht de prioriteit. Welk algoritme gebruik je om PI te berekenen?
(Lees meer...)
Verwijderde gebruiker
10 jaar geleden
gvrox
10 jaar geleden
Eigenlijk geef je in de 2e helft van je antwoord al aan dat de tips in de 1e helft waarschijnlijk niets uithalen.
Verwijderde gebruiker
10 jaar geleden
Klopt. Prioriteit is alleen van belang als er om gestreden wordt. Als je een intensief rekenproces realtime priority geeft, zul je merken dat je windows bijna niet meer te bedienen is, omdat het proces dat de muisklikken afhandelt geen tijd meer krijgt. Dat levert je een klein beetjemeer power op voor je programma. Met prioriteiten spelen is pas interessant als er meerdere zware processen op je computer draaien, waarbij de ene urgenter is dan de andere. Voor jouw programma loont het meer de moeite om te onderzoeken waar de bottleneck zit. Is dat wel de CPU? Grote kans dat het disk I/O is als je bv. teveel geheugen gebruikt.

Andere antwoorden (1)

5% is verdacht laag, doet het programma nog iets met de harde schijf of verbruikt het veel geheugen ? Zelfs al los je alle bottlenecks op, dan zul je op een quadcore maximaal 25% CPU gebruiken, tenzij je het programma in meerdere threads kunt splitsen. Prioriteit verhogen helpt niets als het programma goed is greprogrammeerd.
(Lees meer...)
gvrox
10 jaar geleden

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding