Registriert seit: 11. Apr 2009
557 Beiträge
Delphi 12 Athens
|
AW: Multithread und File I/O bei SSD/HDD
23. Apr 2016, 21:57
Äh - weil Extract beides macht und in der Shell32.dll sitzt (dachte ich jedenfalls) ???
In gewisser Weise hat sich das aber erledigt, weil ich Benedikt Magnus' simple, aber geniale Idee (fällt ja öfter zusammen) mal ausprobiert habe, und siehe da, Multithread ist auch bei HDD besser, wenn die Dateien noch im Cache sind (ich messe jetzt auch bei FP1 und FP2 um die 25 sec, wie bei der SSD, habe mich also vermutlich bei der ersten Auflistung vertan). Insofern entfällt die Unterscheidung zwischen HDD und SSD. Hat eigentlich auch was für sich, wenn man einfach das nimmt, was schneller ist.
Ich messe jetzt erst n Dateien Single-Thread, dann n Dateien Multi-Thread und vergleiche. n ermittle ich nach der Formel von MaxThreads von AsyncCalls, NumberOfCores * 2 - 2, also einmal eine Poolgröße. Ist die Gesamtanzahl Dateien kleiner als 2 * n, dann ist es eh egal.
|