Thread Objekt löschen (25 answers)
Opened by Froschpopo at 2007-11-12 05:38

ptk
 2007-11-15 23:21
#102468 #102468
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Leider kann bei perl auch das einfache Datenlesen dazu führen, dass Speicher alloziert wird:
Code: (dl )
1
2
3
4
5
use Devel::Peek;
$a = 123;
Dump $a;
$a."";
Dump $a;
ergibt
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
SV = IV(0x52c970) at 0x529a58
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 123
SV = PVIV(0x507848) at 0x529a58
REFCNT = 1
FLAGS = (IOK,POK,pIOK,pPOK)
IV = 123
PV = 0x508848 "123"\0
CUR = 3
LEN = 8

Beim ersten Dump gibt es noch kein PV, aber beim zweiten wird aus Performancegründen einer angelegt. Dazu genügt eine einfache Stringoperation, die die Variable nicht zu ändern braucht, vielleicht sogar schon ein einfaches print. Dadurch muss die gesamte Speicherseite dupliziert werden.

View full thread Objekt löschen