Thread Speicherplatzvergleich: Strings und code-referenzen
(8 answers)
Opened by betterworld at 2003-11-14 21:16
ein skalar (sv) hat 12 bytes. dazu kommt noch eine zwischenliegende struktur (xrv) mit weiteren 4 bytes. macht summa summarum 16 bytes.
was ist ein string? ein string ist ebenfalls ein perl skalar (sv), also 12 bytes, dazu eine prise xpv (12 bytes), dazu noch der eigentliche © string, der unter der annahme einer durchschnittlichen länge von n zeichen (n+1) bytes hat. unter strich also 12+12+n+1=25+n bytes. du sparst also ganze 9+n bytes pro referenz. herzlichen glückwunsch ;) zur erläuterung: sv ist die grunddatenstruktur eines skalares. die einzelheiten der einzelnen "typen" (string, zahl, referenz, ...) werden dabei in weitere strukturen ausgelagert (xrv, xpv). xrv enthält nur einen SV*, wohingegen xpv noch 8 byte längeninformation zusätzlich verwaltet.\n\n <!--EDIT|kabel|1069343953--> -- stefan
|