pl: Rekursiver Algorithmus über Callbackfunktion

Beitrag lesen

h Rolf,

Ob es effizienter ist, Längen und Blobbies abwechselnd zu senden, oder erst die Längen und dann die Blobbies, ist vermutlich eher serverseitig relevant.

Mit Perl oder PHP auf der Empfängerseite kann man z.b. sämtliche Offsetangaben als Array mit einer einzigen unpack()Anweisung bekommen. Genauso kann man sie serverseitig mit einer einzigen pack()Anweisung zu Oktetten machen.

Deswegen fasse ich beim EAV immer 3 Längenangaben (Entity, Attribute, Value) zusammen, das sind dann 12 Bytes.

Wenn Du abwechselnd sendest, kannst Du auf dem Server Datei für Datei verarbeiten und brauchst ggf. weniger Speicher. Auf einem Server, der unter Last steht, kann das günstiger sein.

Weniger Speicher braucht man, wenn man die Oktetten unmittelbar aus einem Handle lesen kann, so liegt nicht die ganze Datei im Hauptspeicher sondern immer nur ein kleiner Teil (Streaming).

Beachte das "kann" - ich kenne deine serverseitigen Rahmenbedingungen nicht. Ist halt nur ein Kriterium von vielen.

Ja natürlich. Je mehr Offsetangaben man zusammenfassen will, desto länger ist die Teilsequenz die im Speicher liegen muss, denn darauf wir ja die Funktion length() angewandt..

MfG