Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge

Gibt es ein effizienteres Mergen?

Achim20 / 14 Antworten / Flachansicht Nickles

Hallo zusammen.
Es geht um das Aneinanderreihen/Mergen von Dateien.
Bei sehr großen Dateien kann das schon mal sehr lange dauern, denn:
Alle Progs, die ich dazu bisher benutzt habe, scheinen die Dateien nacheinander zu lesen und die Enddatei komplett neu zu schreiben.
Ich bin Laie, was Dateisysteme etc. angeht, aber die Enddatei liegt doch quasi schon auf der Platte, nur nicht "am Stück".
Will sagen, die Baustellen sind doch eigentlich nicht die Daten selbst, sondern die "Pointer" in der FAT (sorry, holprig formuliert, aber bin wie gesagt kein Experte).
Könnte ein Programm nicht einfach die FAT so ändern, dass aus z.B. 4 "Pointern" einer wird und der "umfasst" dann die ganzen Dateien und macht sie zu einer?
Müsste doch gehen, auch wenn die Enddatei nicht am Stück auf der Platte liegt, denn es gibt ja auch fragmentierte Dateien und die sind deswegen ja nicht zwangsläufig defekt.
Hoffentlich versteht Ihr alle was ich meine.
Vielleicht kennt jemand sogar so ein Programm?
Vielen Dank und mfG Achim

FUMANCHU4EVER
bei Antwort benachrichtigen
mr.escape Achim20 „Heißt das dann, das die Kopier-Prozeduren von Windows, bzw. DOS Schuld sind,...“
Optionen
Heißt das dann, das die Kopier-Prozeduren von Windows, bzw. DOS Schuld sind, d.h. nur für kleine Platten und wenig RAM geschrieben sind?
Im grunde schon, nur dass es nichts mit der plattengröße zu tun hat. Diese funktionen machen das, was sie sollen, aber extrem "unoptimiert".
Man muss aber auch sagen, dass das anhängen/teilen bzw. das kopieren von großen dateien eher selten vorkommt und wer das regelmäßig macht (z.b videobearbeitung), der hat auch das entsprechende setup (mehrere schnelle platten).
Die festplatte kann mit ihrem cache das etwas abfedern, aber beim wilden lesen, gefolgt von wildem schreiben, kommt vermutlich die cache-verwaltung etwas durcheinander (soll ich eher read-ahead optimieren oder den schreib-cache bevorzugen, eine platte hat schon ein schweres leben ;) ).
Die beste lösung wäre ein (eigenes) tool, das genau dem anforderungsprofil entspricht. Ob sich so etwas finden lässt, ist dann die frage (programmieren lernen und selber machen ist vielleicht schneller ;) ).

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen