Seite 2 von 3

Verfasst: 11.08.2006 14:35
von Kaeru Gaman
ok, da könnte er sich wirklich fürchterlich verschrieben haben, aber auch sonst vertan
> und den Rest (wie zum Beispiel bei einer 5MB-Date ^^) dann halt mit normalen Schritten


auf jeden fall danke für deinen hinweis, dass die Clustergröße nach wie vor 4KB beträgt.
(wobei mir das irgendwie spanisch vorkommt, ich hab da was mit 16KB im hinterkopf)

dass clusterweise lesen und schreiben vorteile bringt, ist einleuchtend.

Verfasst: 11.08.2006 14:41
von Thorium
Kaeru Gaman hat geschrieben: auf jeden fall danke für deinen hinweis, dass die Clustergröße nach wie vor 4KB beträgt.
(wobei mir das irgendwie spanisch vorkommt, ich hab da was mit 16KB im hinterkopf)
Hab ich grade eben bei Microsoft nachgelesen: http://technet2.microsoft.com/WindowsSe ... x?mfr=true
Wenn die es nicht wissen, wehr dann? :)

Verfasst: 16.08.2006 15:29
von Tafkadasom2k5
Also von der Erfahrung her, kommt man mit einem 4069 Byte Stack und 4KB großen Blocken (Stringgröße auf 4KB gesetzt) im Netzwerk wie auch Lokal auf die besten Durchsätze.

Vielleicht hat sich das mittlerweile geändert, aber wenn sich an der Clustergröße nicht so viel geändert hat, würde mich das wundern.
Natürlich ist das alles lange her, aber so viel hat sich an Allem nun auch wieder nicht geändert.

Ins Blaue geraten..?
Eigentlich nicht. Kannst dich ja mit ner Stoppuhr mal an sowas ransetzen. Mein Chef hat das "damals" auch gemacht. Also ganz unbegründet würde ich meine Ansätze nicht sehen.

Gr33tz
Tafkadasom2k5

Edit:
Microsoft Corp. hat geschrieben:Clusters and Sectors on an NTFS Volume

[...]
For example, on a disk that uses 512-byte sectors, a 512-byte cluster contains one sector, whereas a 4-kilobyte (KB) cluster contains eight sectors.

Verfasst: 16.08.2006 19:06
von ts-soft
Diese KopierAPI mit Fortschrittsanzeige ist natürlich sehr lahm, da alles
Häppchenweise geht, wobei dann noch die Ereignisse bearbeitet werden.
Wenn das nicht nötig ist, ist CopyFile Dein Freund (am besten mit PB4)

Verfasst: 16.08.2006 19:13
von pvmichael
ts-soft hat geschrieben:Diese KopierAPI mit Fortschrittsanzeige ist natürlich sehr lahm, da alles
Häppchenweise geht, wobei dann noch die Ereignisse bearbeitet werden.
Wenn das nicht nötig ist, ist CopyFile Dein Freund (am besten mit PB4)
Danke, das ist doch mal eine Aussage, mit der ich was anfangen kann :)

Allerdings ist eine Fortschrittsanzeige schon wichtig, gerade weil ich damit Dateien ~ 2000MB kopieren möchte, und der User wissen soll, wann das fertig ist. Ok, ich könnte auch danach einen Message Requester machen, hmmm.... mal überlegen

Verfasst: 16.08.2006 19:23
von AND51
Also ich persönlich finde es auch immer interessanter, wenn ein Ladebalken, Prozente oder zumindest die Restzeit angezeigt wird. Notfalls tut's auch die Geschwindigkeit, sodass ich mir die Restzeit selber ausdenken kann (obwohl das dann auch gleich das Programm erledigen kann).

Verfasst: 17.08.2006 15:10
von Tafkadasom2k5
pvmichael hat geschrieben:Danke, das ist doch mal eine Aussage, mit der ich was anfangen kann :)
Darf ich fragen, was an meiner so schwer zu verstehen war? :? :(

Verfasst: 17.08.2006 18:48
von Thorium
Tafkadasom2k5 hat geschrieben:
pvmichael hat geschrieben:Danke, das ist doch mal eine Aussage, mit der ich was anfangen kann :)
Darf ich fragen, was an meiner so schwer zu verstehen war? :? :(
Versteh ich auch net!
Muss es denn immer was mundgerecht vorgefertigtes sein?

Verfasst: 30.08.2006 11:17
von pvmichael
Tafkadasom2k5 hat geschrieben:
pvmichael hat geschrieben:Danke, das ist doch mal eine Aussage, mit der ich was anfangen kann :)
Darf ich fragen, was an meiner so schwer zu verstehen war? :? :(
Weil ich kaum glaube, dass es schneller geht, wenn ICH anfange die Datei in 4096KB großen Blöcken auszulesen, um sie dann wieder zu schreiben. Es mag sicher Leute unter euch geben, die das können, aber ich gehöre sicher nicht dazu. Ich hab mit diesen ganzen Buffern eh schon so meine Probleme, egal ob Dateibuffer oder Netzwerkbuffer.

Die Aussage von ts-soft war für mich insofern verständlich, dass er mir empfahl CopyFile zu verwenden, und dabei noch den Tipp das mit PB4 zu machen.

Es war nicht böse gemeint, als ich sagte, dass ich mit dieser Aussage etwas anfangen kann... wollte damit eigentlich nur sagen, dass ICH damit was anfangen kann, evtl. können ja andere mit Deiner Erklärung etwas anfangen und sogar bessere Ergebnisse erzielen, auf mich trifft das nur leider nicht zu.

Verfasst: 30.08.2006 13:07
von CelAthor
Man kann schon seit längerem die Clustergröße individuell festlegen, natürlich kann man dabei nur aus vorgegebenen Werten wählen.
Die Clustergröße sollte sich nach der Größe der Partition richten.
Auch sollte man diese nicht zu hoch ansetzen, denn dann bekommt man Probleme bei sehr vielen kleinen Dateien. Denn die kleinste Datei ist immer so groß, wie der Cluster.

Folgender Algorythmus zum Kopierthema:
Man lege zuerst eine Buffergröße fest (z.B. 50MB), dann prüft man, ob die Datei diese Größe übersteigt oder nicht. Ist die datei größer, werden solange 50MB-Blöcke kopiert bis die Restgröße der Datei kleiner als 50MB ist. Dann passt man den Buffer auf die Restgröße an und kopiert den letzten Teil.
Wichtig ist hier aber, die Größe des Buffers nicht zu hoch auszuwählen. Denn je höher, desto länger braucht Windows um die Daten einzulesen.
Stellt man den Buffer zu klein, ist Windows mehr mit den Verwaltungsoperationen beschäftigt.