Buffer ist größer als es sein müsste

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Buffer ist größer als es sein müsste

    Hi,
    Ich brauch grad Buffer. Ich hab mir mit einer Schleife Daten in den Buffer rein gemacht und fertig.
    Als ich die Größe ausgerechnet hab, kam ich auf 35Bytes. Gm sagt aber es seien 64Bytes. Das gibt beim Auslesen dann Probleme, da ich die Größe nicht extra vorne angeben möchte.
    Warum ist der Buffer fast doppelt so groß wie er eigentlich sein müsste?
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Du hast wahrscheinlich einen Buffer vom Typ grow genommen. Speicherreservierung ist ein sehr zeitintensiver Vorgang, weil jedes Mal, wenn nicht genug Speicher zur verfügung steht, ein neuer Speicherplatz im Ram gefunden werden muss und der gesamte alte Teil dorthin kopiert werden muss. Deswegen ist es sinnvoll Speicher vorab zu reservieren, weil ansonsten dieser Vorgang bei jedem Schreibzugriff vorgenommen werden muss, da nicht bekannt ist wie viel Speicher noch benötigt wird. Also denkt die Speicherreservierung vorraus, wieviel Speicher vermutlich noch benötigt wird. Das ist bei jeder dynamischen Datenstruktur so, nur fällt es bei den Buffern auf, weil es eine Low Level Funktion ist.