Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Dateien kopieren - TThread

  Alt 26. Mai 2012, 00:31
Als eine Faustregel für für aktuelle CPUs günstige Threadanzahlen ist mir an einigen Stellen "2*AnzahlCPUKerne" begegnet (logische mitgezählt). Warum man über AnzahlCPUKerne hinaus noch Geschwindigkeitsvorteile hat weiss ich allerdings nicht mehr genau, und die Tabelle mit den Vergleichswerten ist mir leider auch nicht mehr im Kopf (bzw. auch ihr virtueller Lagerort nicht).

Aber: An und für sich dürfte beim Kopieren die CPU bei weitem kein Flaschenhals sein! Theoretisch hättest du sogar eine Geschwindigkeitsminderung sehen müssen, da nun die Platte ihr Ärmchen ja viel öfter schwingen muss, da die (gleicheztig, für die Platte ja aber sequenziell) zu kopierenden Dateien potenziell an ganz verschiedenen physikalischen Stellen liegen könnten. Read-Ahead und Caching werden da zwar Linderung verschaffen, aber schneller hätte ich niemals erwartet.
Meine Vermutung daher: Die Dateien liegen auf unterschiedlichen Laufwerken, und werden auch auf unterschiedliche Ziellaufwerke kopiert. Dann würde es Sinn machen nach Laufwerken zu gruppieren, und pro Laufwerk einen Thread zu starten.

Zur Obergrenze für Threads ganz allgemein spuckte Onkel Google als erste Links aus: 1, 2
Einen "Systemabsturz" wird man durch Unmengen an Threads jedoch kaum hinbekommen, eher wird dein Programm entweder einfrieren, oder mit einer Fehelermeldung vom System weggeschossen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat