Schrift
[thread]6515[/thread]

Auslagerung von Daten verhindern: gezielt den Arbeitsspeicher füllen



<< >> 3 Einträge, 1 Seite
Gast Gast
 2004-08-19 13:47
#49423 #49423
Hallo, nochmal ein Problem von mir, das sich eigentlich aus meinem ersten Beitrag gründet=)

Wenn ich eine binäre Datei einlese, möchte ich den aktuellen Arbeitsspeicherplatz nicht überschreiten und je nachdem mein Feld, in das ich die Daten einlese, daran anpassen, bearbeiten, ausgeben und den nächsten Block einelesen. Ich möchte die Auslagerung verhindern, da ich glaub sie ist das ZeitProblem meines Skripts.

Wie mach ich das?


Danke

Roger
Crian
 2004-08-19 17:15
#49424 #49424
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Am besten in einem Durchgang bearbeiten ohne zu speichern.

Bei Binärdateien wäre read wohl das Mittel der Wahl, da while (<>) ja auf Zeilenumbrüche aus ist, die in Binärdateien eher nur zufällig enthalten sind.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
[E|B]
 2004-08-19 18:00
#49425 #49425
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Du kannst den Arbeitsspeicher mit einem der Tie::Cache* Module beschränken.
Damit gehst du sicher, dass nie mehr in den RAM geladen wird, als du willst.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
<< >> 3 Einträge, 1 Seite



View all threads created 2004-08-19 13:47.