Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stream verarbeitungsproblem



MsGarry's Mod
02.11.2013, 21:34
Hallo ich habe da ein kleines RAM problem.

ich schreibe grade an ein programm das Daten Codiert und decodiert, das problem das dies leider das es noch sehr fiel Arbeitsspeicher frisst, den er stremmt die zu codierende Datei in eine Byte-Array, um sie an einzelne byte ran zu kommen ,das funktioniert gut bei kleinen Daten wie eine MP3 mit 25MB
aber für Daten pakete mit 1,55GB aufwärts reicht mir der Arbeitsspeicher nicht.
Deswegen such ich eine Methoden, wo mit ich den Stream wie eine Array durchlaufen kann.

ich hoffe ihr könnt helfen, Danke.

Dark
03.11.2013, 12:34
naja soweit ich weis kannst du es nicht, du musst denke ich die datei auf mehrere virtuelle array aufteilen, du liest die ersten n byte blöcke ein, machst damit was auch immer und schreibst diese dann in eine temp datei und macht weiter mit den nächten n bytes. im anschluss musst du eben alle daten wieder concatten.

ultrabenbooyah
03.11.2013, 18:49
Bin auch Dark's Meinung. Du musst die Datei in kleine Häppchen aufteilen. Stück für stück lädst du diese in den RAM, durchläufst deinen Algorythmus, speicherst den Part in der Zieldatei, gibst den RAM wieder frei und fängst von vorne an, bis du die Datei komplett verarbeitet hast. Ansich nicht sehr aufwändig, sollte sich mit wenigen Zeilen Code realisieren lassen.

MsGarry's Mod
03.11.2013, 19:02
ok mal sehn wie ich den Stream teilen kann ok danke für die, Idee :D