Ich habe eine Frage, die ich versuchte, eine Antwort für zu finden, bekam aber mehr verwirrt von all den Informationen, die ich gefunden - leider konnte keine klare AntwortOptimale Anzahl von Threads, wenn Hyperthreading ist aus
So gewinnen, Nehmen wir an, ich habe einen Computer mit ausgeschaltetem Hyperthreading.
Was ist die optimale Anzahl von Threads, die ich in einem Programm verwenden sollte, das ich geschrieben habe?
Ich verstehe, dass, wenn mein Programm nicht 100% CPU gebunden ist (befasst sich mit IO), so die optimale Anzahl von Threads wird mehr als ein Thread pro Kern sein - da ich Multithreads warten und mehr haben (nicht zu viel aufgrund von Kontextwechsel Overhead) wird für diese Art von Programmen besser sein.
ABER, wenn mein Programm 100% CPU gebunden ist - ein Thread pro Kern ist der optimale? Ich bin verwirrt, da ich mehr Threads habe, was bedeutet, dass ich vielleicht für jeden Thread eine größere Zeit für die Slices bekomme - was die Performance verbessern kann.
Danke!
Ich habe keine klare Antwort, aber Sie können immer Ihr Programm benchmarken. –
Unmöglich zu antworten, ohne die Arbeitslast zu kennen. Mehr Threads bedeuten ein * kleineres * Segment und mehr Overhead, wenn alle laufen. –