Ist für die Anwendung C++ geeignet



  • @Belli

    @Belli sagte in Ist für die Anwendung C++ geeignet:

    Ich weiß gar nicht, was 'eine Datei, bestehend aus Windows-Ordnern' sein soll ...
    Falls das Problem sein sollte:
    Lies eine Datei im Binärformat.
    Schreibe diese Datei mit der Endung *.ts in eine neue Datei.
    Lies weitere 1 bis n Dateien im Binärformat.
    Hänge diese Dateien an die erste geschriebene an.

    Dann sollte das mit Powershell - Mitteln machbar sein:

    get-content -encoding byte

    sollte das lesen.

    out-file -encoding byte -append

    sollte das schreiben können.

    Habe gestern mal getestet
    Funktioniert tatsächlich, aber braucht für einen einzigen Film 16 Stunden.


  • Mod

    @naldo sagte in Ist für die Anwendung C++ geeignet:

    Habe gestern mal getestet
    Funktioniert tatsächlich, aber braucht für einen einzigen Film 16 Stunden.

    Du schriebst oben, das wäre auf USB-Platten. Sind das zufällig USB2-Platten? Und schreibst du etwa zurück auf diese (am besten noch, während du gleichzeitig über die gleiche Schnittstelle liest)? Dann kann das natürlich schon so sein. Die Schreibgeschwindigkeit von USB2-Platten ist oft unterirdisch und der Gesamtdurchsatz (gleichzeitig Lesen und Schreiben) noch viel mehr. Schlimmstenfalls sind das dann nur Megabytes/Sekunde, was bei vermutlich vielen Gigabytes schnell ein paar Stunden werden können. Bellis Methode ist quasi nur durch die Geschwindigkeit deiner Datenträger eingeschränkt. Musst du was schnelleres wählen. Ein zeitgemäßer Datenträger kann 100-1000 Mal schneller sein. Das erstmalige Übertragen deiner Daten wird natürlich auch erst einmal Stunden dauern, aber immer noch ungleich schneller, als wenn du auch noch zurück schreibst.



  • Je nachdem, wie groß die Dateien sind, gibt es - sicher auch unter Powershell - bessere Methoden:
    get-content zB liest erst die ganze Datei in den RAM, sollte der zu klein sein, wird mit der Auslagerungsdatei herumgemacht.
    Das kann man natürlich optimieren, indem man Lese/Schreiboperationen wählt, die nicht die ganze Datei in einem Rutsch einlesen ...


Anmelden zum Antworten