2. ich lasse einiges an kleinen Log-Daten (unter 100 KB) in einem TThread kopieren. Das geschieht dann über TParallels.For IM TThread.
- wenn ich die Daten mit einem TSHFileOpStruct-Konstrukt kopiere scheint es schneller zu sein als Windows.CopyFileEx (ohne CallBack-Funktion).
- könnte das an TParallel.For liegen oder ist das "manuelle" kopieren mit TSHFileOpStruct einfach besser (weil weniger Overhead) als CopyFileEx in einem Thread?
Wenn du nicht gerade eine SSD hast, auf der die Dateien liegen, bremst du dich mit Zugriffen mit mehreren Threads selbst aus, weil der Kopf der Festplatte ständig hin- und herspringen muss. Wird nur ein Vorgang gleichzeitig ausgeführt, geht das daher in aller Regel schneller.
Beschleunigen kannst du so etwas am ehesten indem du selbst die Dateien in den Arbeitsspeicher einliest und in einem Rutsch schreibst. Groß wird der Vorteil dadurch aber nicht unbedingt sein bei der Dateigröße.