newbie: 20 000 structs erschaffen-darf ich das ?



  • hi,
    die topic sagt eigentlich den großteil.
    mein programm sammelt einiges an daten an,für jeden struct mindesten 600 char´s und 5 long´s . versteh ich das richtig das ein struct dann so 640 bytes braucht ?
    ist sowas die totale resourcenverschwendung wenn ich da 20 000 stück erzeuge ?
    wie sieht es mit der performance aus wenn ich darauf zugreifen /damit rechnen möchte ?



  • Original erstellt von <newbie>:
    versteh ich das richtig das ein struct dann so 640 bytes braucht ?

    Kommt auf die Größe von long an. Bei Windows ist long 4 Byte (also genau wie int). Das wären dann 620 Byte.

    Original erstellt von <newbie>:
    ist sowas die totale resourcenverschwendung wenn ich da 20 000 stück erzeuge ?

    Es kommt drauf an was drin steht. Naja, das wär bestimmt so an die 12MB Arbeitsspeicher. Wenn es sein muss ja aber sonst soetwas vermeiden.

    Original erstellt von <newbie>:
    wie sieht es mit der performance aus wenn ich darauf zugreifen /damit rechnen möchte ?

    Zugriff ist normal. Rechnen auch. Performance kommt auf die Rechnung an...



  • Ich würde sie in eine Datei schreiben, kann mir nicht vorstellen das du
    20000 auf einmal brauchst.

    Devil



  • 128 MB - doch soviel ?
    20 000 * 640 = 12 800 000 = 13 MB RAM oder seh ich das falsch ?

    rechnungen wären nur grundrechenarten.



  • 12.20703125 MB um genau zu sein. Deine Rechnung ist richtig. Wie kommst du auf 128MB? Ich hatte ca. 12 MB geschrieben...



  • Kommt auf die Größe von long an. Bei Windows ist long 4 Byte (also genau wie int). Das wären dann 620 Byte.

    so darf man eh nicht rechnen, siehe padding bytes 🙄



  • Am Thema vorbei. Ich wollte ihn nur darauf aufmerksam machen, dass long keine 8 Byte hat 🙄 .



  • Du weisst ja nicht mit welchem System er arbeitet 🙄 :p 🙂



  • Original erstellt von kingruedi:
    Du weisst ja nicht mit welchem System er arbeitet 🙄 :p 🙂

    Au mann, les doch mal oben. Da habe ich gesagt unter Windows.

    Und die Padding Bytes machen den Bock dann auch nicht mehr fett wenn die Struktur sowieso schon 6xx Bytes groß ist. An Padding Bytes kämen dann noch ein paar Bytes dazu. Das ist aber auf neueren Systemen mit > 128 MB RAM vernachlässigbar klein.


Anmelden zum Antworten