/ Datendarstellung & Speicher

Speicherbedarf Integer

Speicherbedarf für eine Folge ganzzahliger Werte: Speicher = Anzahl · ByteProInt. Typische Größen sind 4 Byte für int32 oder 8 Byte für int64.

Speicherbedarf Integer
01 · Eingabe

Speicherbedarf Integer berechnen

Speicherbedarf für eine Folge ganzzahliger Werte: Speicher = Anzahl · ByteProInt. Typische Größen sind 4 Byte für int32 oder 8 Byte für int64.

Lösen für
Speicher = Anzahl · ByteProInt
Byte

Worum geht es?

Eine Folge ganzzahliger Werte mit konstanter Bitbreite belegt vorhersagbar viel Speicher: Speicher = Anzahl · ByteProInt. Die typischen Bitbreiten sind:

  • int8 / uint8: 1 Byte
  • int16 / uint16: 2 Byte
  • int32 / uint32: 4 Byte
  • int64 / uint64: 8 Byte

Diese Rechnung ignoriert Sprach-Overhead (Header bei Java-int[], Slice-Header bei Go) und gilt rein für die Nutzdaten.

Die Formel

Formel Speicherbedarf Integer
Speicher = Anzahl · ByteProInt

Umstellungen:
    Anzahl     = Speicher / ByteProInt
    ByteProInt = Speicher / Anzahl

Die Variablen

SymbolBedeutungEinheitErklärung
AnzahlAnzahl WerteAnzahl der Integer-Werte.
ByteProIntByte pro IntegerByteBytes pro Wert (z. B. 4 für int32).
SpeicherSpeicherbedarfByteGesamter Nutzdaten-Speicher.

Minimal-Beispiel

1000 int32-Werte:

Rechnung 1000 · int32
Speicher = 1000 · 4
         = 4000 Byte
         ≈ 3,91 KiB

Praxis-Beispiele

Beispiel 1 — Sensorpuffer

Ein Ringpuffer für 60.000 int16-Messwerte:

Rechnung Ringpuffer
Speicher = 60.000 · 2
         = 120.000 Byte
         ≈ 117,2 KiB

Beispiel 2 — Datenbank-Spalte int64

Eine Spalte mit 5.000.000 BIGINT-Werten:

Rechnung BIGINT-Spalte
Speicher = 5.000.000 · 8
         = 40.000.000 Byte
         ≈ 38,15 MiB

Beispiel 3 — Bitbreite aus Speicher

20.000 Werte belegen 80.000 Byte. Welche Bitbreite?

Rechnung ByteProInt
ByteProInt = 80.000 / 20.000
           = 4 Byte
           → int32 / uint32