¿Cómo funciona realmente la memoria PHP?
Siempre he escuchado y buscado nuevas 'buenas prácticas de escritura' de php, por ejemplo: es mejor (para el rendimiento) verificar si existe una clave de matriz que buscar en la matriz, pero también parece mejor para la memoria:
Asumiendo que tenemos:
$array = array
(
'one' => 1,
'two' => 2,
'three' => 3,
'four' => 4,
);
esto asigna 1040 bytes de memoria,
y
$array = array
(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
);
requiere 1136 bytes
Entiendo que elkey
yvalue
seguramente tendrá un mecanismo de almacenamiento diferente, pero por favor, ¿puede indicarme el principio de cómo funciona?
Ejemplo 2(para @teuneboon):
$array = array
(
'one' => '1',
'two' => '2',
'three' => '3',
'four' => '4',
);
1168 bytes
$array = array
(
'1' => 'one',
'2' => 'two',
'3' => 'three',
'4' => 'four',
);
1136 bytes
consumiendo la misma memoria:
4 => 'four',
'4' => 'four',