[fstream] große Dateiblöcke aus einer Datei in eine neue schreiben
-
SeppJ schrieb:
Es ist zwar immer hübsch und elegant, optimale Lösungen mit minimalem Festplattenzugriff zu suchen, aber manchmal ist es doch das einfachste, die moderne Technik auch mal auszunutzen und den direkten Lösungsweg zu wählen.
Ja da hast du Recht .. ich hab immer noch die Angewohnheit, möglichst schonend mit den Resourcen umzugehen, was aus der Zeit herrührt, als ich noch mit nem 128 MB RAM, 800 MHz CPU Rechner rumgewerkelt habe .. Da war bei großen Dateioperationen jeder freie Byte im Arbeitsspeicher wichtig ^^
Muss ich mir aber mal abgewöhnen ..Werde dann mal deinen Vorschlag umsetzen

-
aber es ist doch abzusehen das aus den 30 mb irgendwann mal viel mehr wird und dann musste wieder alles umproggen weil sich die user über hohen speicherverbrauch beschweren
-
Fake oder Echt schrieb:
SeppJ schrieb:
Es ist zwar immer hübsch und elegant, optimale Lösungen mit minimalem Festplattenzugriff zu suchen, aber manchmal ist es doch das einfachste, die moderne Technik auch mal auszunutzen und den direkten Lösungsweg zu wählen.
Ja da hast du Recht .. ich hab immer noch die Angewohnheit, möglichst schonend mit den Resourcen umzugehen, was aus der Zeit herrührt, als ich noch mit nem 128 MB RAM, 800 MHz CPU Rechner rumgewerkelt habe .. Da war bei großen Dateioperationen jeder freie Byte im Arbeitsspeicher wichtig ^^
Du tust gerade so, als ob dein Rechner ein C64 war, dabei wars wahrscheinlich ein Pentium und da hat keiner auf einzelne Bytes geschaut.

-
zukunftseher schrieb:
aber es ist doch abzusehen das aus den 30 mb irgendwann mal viel mehr wird und dann musste wieder alles umproggen weil sich die user über hohen speicherverbrauch beschweren
Na und? Besser als wenn er sich jetzt einen abbricht und dann niemals größere Dateien einliest; you ain't gonna need it...
Die Kunst liegt darin, diesen Vorgang (wie jeden anderen auch) so zu kapseln, dass eine spätere Änderung keinen anderen Code betrifft.
-
In Pagesize-Blöcken zu lesen sollte ja auch ausreichen, also 4kb Buffer.
-
zukunftseher schrieb:
aber es ist doch abzusehen das aus den 30 mb irgendwann mal viel mehr wird und dann musste wieder alles umproggen weil sich die user über hohen speicherverbrauch beschweren
genau deshalb hatte ich ursprünglich gefragt, weil kapazität geht ja bis 2GB (unsigned bis 4) ^^
LollerRoller schrieb:
Du tust gerade so, als ob dein Rechner ein C64 war, dabei wars wahrscheinlich ein Pentium und da hat keiner auf einzelne Bytes geschaut.
war ein duron
und nein auf einzelne bytes musste ich da natürlich auch nicht achten, wobei kleinvieh irgendwann auch mist gemacht hatte, sagt man ja auch immer so schön 
Ethon schrieb:
In Pagesize-Blöcken
So hatte ich das jetz auch gelöst, per Define die Block-Größe bestimmt ..
-
Nimm statt define ein const int.
-
314159265358979 schrieb:
Nimm statt define ein const int.
ich wusste das das kommt

-
Wenn du es schon weisst, mach es doch beim nächsten Mal direkt richtig.
Es gibt keinen Grund, für Konstanten
#definezu nehmen.
-
jaja, danke an beide für den hinweis

-
zukunftseher schrieb:
aber es ist doch abzusehen das aus den 30 mb irgendwann mal viel mehr wird und dann musste wieder alles umproggen weil sich die user über hohen speicherverbrauch beschweren
Ist das so abzusehen? Kennst du die konkrete Anforderung oder sagt dir das deine Kristallkugel? Vielleicht ist dieses ominöse irgendwann ja auch erst dann, wenn man 12 TByte RAM hat.