Forum: Win32/Win64 API (native code)
Delphi
by devidespe,
15. Apr 2010
Vielleicht liegt es an der Größe des zu schreibenden Puffers. Hier verwende ich einen String mit einem 64 Byte großen Testmuster. Vielleicht wäre es effektiver, stattdessen einen Puffer wie etwa ein Array mit mehreren KByte zu verwenden, da das Testmuster ja fortlaufend in die Datei geschrieben werden soll.
Edit: Nachtrag. Mit einem 64 KByte Puffer läuft es wesentlich flotter. Das Thema kann...
Forum: Win32/Win64 API (native code)
Delphi
by devidespe,
14. Apr 2010
Hallo shmia,
ich muss nochmal auf Deinen oben genannten Code zurückkommen. Zuerst einmal funktioniert er. Ist es aber möglich, dass das Beschreiben mit FILE_FLAG_WRITE_THROUGH fast 20mal so lange benötigt als ohne? Ich schreibe etwa eine 1 MByte Testdatei auf einen USB-Stick und das braucht fast 2 Minuten mit FILE_FLAG_WRITE_THROUGH, ohne nur wenige Sekunden.
Wenn ich FILE_FLAG_NO_BUFFERING...
Forum: Win32/Win64 API (native code)
Delphi
by devidespe,
14. Nov 2007
Vielleicht war die gewünschte Aufgabe meiner Anwendung falsch umschrieben.
Eine Teilapplikation soll bspw. die Lesegeschwindigkeit der USB-Medien und auch einer zuvor gebrannten CD ermitteln. Dafür wird die Testdatei eingelesen und die Zeit ermittelt, die dafür benötigt wird. Nehmen wir einmal an, dieser Vorgang dauert für eine 16 MByte Datei 5 Sekunden. Beim zweiten Einlesevorgang nimmt...
Forum: Win32/Win64 API (native code)
Delphi
by devidespe,
14. Nov 2007
Hallo,
ich muss auf einem USB-Stick eine Datei erstellen, ihren Inhalt lesen und anschließend miteinander vergleichen. Das habe ich bisher mit normalen Delphi-Funktionen realisiert (Assign, Rewrite, Write, Read, Close). Die Sache hat nur einen Haken: den Windows-Cache. Beim Schreiben auf den USB-Stick meldet mir Windows schneller, dass die Datei geschrieben wurde, als es tatsächlich der Fall...