hi Martin, mein Lieber,
Dieser Header enthält Redundanzen. Um Position und Länge eines key- oder value-Eintrags zu bekommen, musst du zwei DWORDs lesen. Dann ist es aber unnötig, die Länge mitzuspeichern, denn die ergibt sich aus der Position des gesuchten und des darauffolgenden Eintrags.
Hmmmm, ich werd nochmal drüber nachdenken... das Positionsgerechne kostet jedoch auch ein bischen CPU...
Wenn die Anzahl der Einträge nicht ins Uferlose wächst, kann man sogar den gesamten Header als DWORD-Array im Arbeitsspeicher halten, was der Performance zugute kommen könnte.
Genau!, auf jeden Fall, wird der Header im Speicher gehalten, solange das Programm/Script läuft. Nur der Header. Das wird fein :-)
Evntl. nehme ich statt 32 Bit nur 16 Bit (Schablone "S" statt "N"), das reicht auch (gibt 65536 Einträge).
Insgesamt finde ich den Ansatz recht gut.
Na, ich erst *Grins*
Er hat zwar einen Nachteil, nämlich dass er nur "flache" Datenstrukturen abbilden kann, keine verzweigten. Wenn man das allerdings möchte, wird's ziemlich aufwendig.
Im Moment (noch) kein Thema.
Wer mir über son Zeug maln bissl mehr erzählen kann, sollte jetzt reden (oder für immer schweigen) ;-)
Was willste denn hören?
Dein Hinweis "DWORD" ist schonmal goldrichtig, danke!!!
Fröhliche Eiertage,
Schokoladeneier sind eine gute Alternative zu Toneiern.
Viele Grüße auch an Alle,
Horst Haselhuhn (Legehennen-Experte)